WinCNT

TCP/IP 계층 구조 본문

게임 프로그래밍(학습 내용 정리)/네트워크 프로그래밍

TCP/IP 계층 구조

WinCNT_SSS 2022. 5. 2. 11:28

4계층: 응용 계층
TCP/UDP 기반의 응용 프로그램

3계층: 전송 계층
프로세스 간의 신뢰성 있는 데이터 전송을 담당
TCP, UDP

2계층: 인터넷 계층
호스트 간의 라우팅 담당
인터텟 프로토콜 > IP  패킷을 만듬 { IP 헤더 + 데이터}
주소 변환 프로토콜 > ARP(IP --> MAC), RARP(MAC --> IP)
상태진단프로토콜 > ICMP

1계층: 네트워크 인터페이스 계층
Node-To-Node간의 신뢰성 있는 데이터 전송을 담당
물리적인 주소로 MAC 사용
에러 검출 기능, 패킷의 프레임화

 

https://www.itworld.co.kr/tags/6436/%ED%94%84%EB%A0%88%EC%9E%84/106484

 

이더넷 프레임과 패킷의 차이

이더넷 데이터에 대해 이야기할 때, 프레임(Frame)과 패킷(Packet)은 혼용되곤 한다. 프레임과 페킷은 데이터를 특정 지점에서 특정 지점으로 나르는 전자적 컨테이너로, LAN과 WAN을 오가면 비슷한

www.itworld.co.kr

 

이더넷 프레임은 상당히 큰 패킷까지 보낼 수 있어서

스위치나 라우터의 장비 스펙에 따라서는 한 번에 보낼 수 없는 경우가 있다

그러한 경우는 스위치나 라우터가 알아서 분리해서 보낸다

 

신뢰성

문제가 있는 패킷을 버리는 것 - 체크썸으로 검출한다

UDP는 문제 있는 패킷을 바로 버리고

TCP는 문제 있는 패킷을 버리고 송신 측에 통지한다

 

장비 설명

OSI 7 기준
허브: 전기적인 신호를 증폭시켜 LAN의 전송 거리를 연장 시키고 여러 대의 디바이스를 연결해 네트워크를 만들어 주는 장비. MAC(주소)를 기억하지 않기 때문에 통신 효율이 떨어짐 [1계층]
스위치: 허브와 달리 MAC(주소)를 기억해 효율적인 통신 가능[2계층]
공유기: 여러 컴퓨터가 인터넷 접속할 수 있도록 하는 기기[3계층]
라우터: 네트워크가 인터넷에 접속할 수 있도록 해주며 통신 신호들의 경로를 지정[3계층]

 

 

프로토콜 스택(혹은 커널)

TCP는 패킷을 어느 정도 모아서 보내는 특성이 있음

(옵션으로 조정 가능)

그래서 TCP의 패킷을 스트림 데이터라고도 함

UDP의 경우는 SendTo는 보낸 횟수만큼 RecvFrom를 해야 함

 

헤더 정보

 

3-Way Handshaking

연결 과정

 

참고) 디도스 공격

클라이언트가 서버에 SYN만 계속 보내는 공격 방식

 

4-Way Handshaking

종료 과정

끊는 것은 클라이언트도 서버도 할 수 있다

FIN을 보냈을 때, 바로 종료되는 것이 아니라 FIN-WAIT라는 페이즈가 존재한다

 

SSS