네트워크 05 : TCP/IP 응용 계층
·
NETWORK/Study
1. 응용계층에 대하여네트워크의 최상위 계층으로, 사용자의 프로그램에게 네트워크 서비스를 제공하는 계층임.하위 계층인 전송계층(TCP/UDP)으로 데이터를 전달한다.데이터 단위 : 메시지(Message), 데이터(Data)예) 웹 브라우저, 이메일, 파일 전송 프로그램 등2. 응용계층의 역할 1) 사용자 인터페이스사용자가 네트워크 서비스를 사용할 수 있도록 인터페이스를 제공 2) 데이터 표현프로그램 간 데이터 형식 처리 3) 통신 서비스웹, 메일, 파일 전송 등 제공 4) 요청 및 응답 처리클라이언트 - 서버 간 요청 처리3. HTTP / HTTPS: Hyper Text Transfer Protocol / Hyper Text Transfer Protocol Secure웹 브라우저(클라이언트) - 웹 서버..
네트워크 04 : TCP/IP 전송 계층
·
NETWORK/Study
1. 전송 계층의 역할프로그램(프로세스) 간 데이터 전달전달 신뢰성 보장2. 포트(PORT)프로그램을 구분하는 요소(IP는 PC를 구분하는 요소)따라서 하나의 PC에서 여러 서비스(프로그램)을 동시에 사용 가능함.3. TCP(Transmission Control Protocol) 1) TCP 란?정확하게, 순서대로, 빠짐없이 보내기 위한 전송 방식 2) 연결(3-WayHandshake)SYN → SYN/ACK → ACK데이터 전송 전 항상 연결 확인 3) 특징 : 신뢰성 보장데이터 전송 → ACK 수신데이터를 보낸 뒤 상대가 받았는지 확인(ACK 수신)확인되지 않으면(ACK 수신 X) 다시 전송 3.1) 특징 : 순서 보장1번, 2번, 3번 전송도착: 2번, 1번, 3번처리: 1번, 2번, 3번 순서로 ..
네트워크 03 : TCP/IP 인터넷 계층
·
NETWORK/Study
1. 인터넷 계층의 역할IP 주소 기반 전달라우팅(경로 선택)패킷 전달(전송 계층 데이터를 감싸서 전달)2. IP(InternetProtocol) 1) IP 란 ?인터넷에서 데이터를 목적지까지 보내기 위한 주소 및 규칙 2) 주소지정192.168.0.108.8.8.8 3) 구조[네트워크부][호스트부] ex) 192.168.0.10 => 192.168.0 (네트워크부) / 10(호스트부)네트워크부 → 소속호스트부 → 개별 장비 3.1) 서브넷 마스크네트워크 부의 길이를 늘리고, 호스트 부의 길이를 줄여 기존 네트워크에서 서브 네트워크로 분할하여 사용할 수 있음.10.1.1.1/24255.255.255.0> 기존전체 32비트네트워크 부의 길이는 24비트호스트 부의 길이는 8비트2^8(256) 만큼의 호스..
네트워크 02 : TCP/IP 네트워크 인터페이스 계층
·
NETWORK/Study
1. 네트워크 인터페이스 계층 역할- 프레임 생성 : IP 패킷을 단위인 프레임으로 감쌈- 경로 : MAC 주소를 통해 전달- 실제 전송 : 전기 / 빛 신호를 케이블을 통해 전달2. MAC Address 1) MAC 주소란?장비를 식별하기 위한 하드웨어 주소 2) 기본 구조00:1A:2B:3C:4D:5E48비트(6바이트)16진수 3) 구성[앞 3바이트][뒤 3바이트]앞 3 바이트 : 제조사뒤 3 바이트 : 장비 고유값 4) 주소 변경PC → 공유기 → 인터넷한 단계씩 전달하면 MAC 주소가 변경됨 5) IP 와 차이- IP : 최종 어디로 갈지(최종 목적지, 변동없음)- MAC : 지금 어디로 갈지(다음 대상, 전달 후 변경)3. 네트워크 어댑터(NetworkInterfaceCard) 1) 역할MAC ..
네트워크 01 : 네트워크(OSI 7 계층, TCP/IP 4 계층)
·
NETWORK/Study
1. 네트워크란 ?두 대 이상의 기기(서버-클라이언트)가 케이블 및 무선 등으로 연결되어 데이터와 자원을 공유하는 통신망을 말함.데이터와 자원을 정확히 교환하기 위해서는 각 주소를 알아야 하고,결국 각 기기가 물리적인 요소로 되어 있으므로 물리적인 통신 장치도 필요하다.이론적으로 OSI 7 계층, 실무적으로 TCP/IP 4 계층으로 나눌 수 있다.2. OSI 7 계층: 이론적 개념1. 물리 (Physical)2. 데이터링크 (Data Link)3. 네트워크 (Network)4. 전송 (Transport)5. 세션 (Session)6. 표현 (Presentation)7. 응용 (Application)더보기1) 물리 (Physical) - 역할실제 신호 전송전기/빛 - 요소케이블전압커넥터 - 단위Bit2) ..
★매우 중요★ / QT의 TCP 통신의 프로토콜 설계(프레이밍 및 파싱)
·
NETWORK/Study
0. TCP 통신의 특징>TCP는 "연결형 바이트 스트림"으로 메시지 경계가 없다.이는 한번 write() 한 것이 한 번의 read()로 정확히 읽는다는 보장이 없다는 것과 같음따라서 write()를 하는 쪽과 read()를 하는 쪽 간의 일정한 합의을 통해 모든 데이터를 읽을 수 있는 규칙을 만들어야 한다.이를 애플리케이션 레벨의 프로토콜을 만든다고 표현한다.1. 프로토콜(Protocol)> 프로토콜 : 네트워크 간(서버와 클라이언트 간) 데이터를 어떻게 주고 받을지 약속한 규칙> 애플리케이션 레벨 프로토콜의 예 : 길이 붙여 보내기(프레이밍) + 길이 읽어 조합하기(파싱)2. 프레이밍(Framing)> 메시지가 어디서 시작하고 어디서 끝나는지 표시하는 것(프레임)3. 파싱(Parsing): 전달받은..
★매우중요★ QT에서 TCP 통신 과정
·
NETWORK/Study
1. 준비> QTcpServer : 서버 역할(연결 받아들이기)> QTcpSocket : 클라이언트 역할(서버에 접속)2. 서버2.1 QTcpServer 생성QTcpServer *server = new QTcpServer(this);2.2 포트열기(listen)server->listen(QHostAddress::Any, 12345);2.3 새 연결 수신(newConnection 시그널 -> onNewConnection 슬롯함수)connect(server, &QTcpServer::newConnection, this, &MyClass::onNewConnection);2.4 클라이언트 소켓 꺼내기void MyClass::onNewConnection() { QTcpSocket *client = server..
TCP / IP 소켓 필수 함수 정리
·
NETWORK/Study
1. socket()📌 역할소켓(파일 디스크립터)을 생성합니다. TCP/UDP, IPv4/IPv6 등 타입을 설정할 수 있어요.📘 함수 원형int socket(int domain, int type, int protocol); 🔸 주요 인자인자설명domain주소 체계 (예: AF_INET = IPv4, AF_INET6 = IPv6)type소켓 타입 (예: SOCK_STREAM = TCP, SOCK_DGRAM = UDP)protocol일반적으로 0 (자동 선택) ✅ 사용 예시int sockfd = socket(AF_INET, SOCK_STREAM, 0); // TCP 소켓 생성2. bind()📌 역할서버에서 사용할 IP 주소와 포트 번호를 소켓에 연결합니다.📘 함수 원형int bind(int soc..