Data link 계층은 상위 계층의 패킷을 전달받아 프레임 형태로 변환하여 Physical 계층에 전달한다. 이때, 이더넷 헤더에는 상위 계층의 프로토콜 정보와 src, dst MAC address 정보가 담긴다. [그림 1] Ethernet V2 구조 위 그림은 Ethernet V2 프레임의 구조를 나타낸 것으로 IEEE802.3의 경우 'Type'이 아닌 'Length' 정보가 담겨있고 DSAP, SSAP, Control 필드가 추가적으로 구성되어 있다. Preamble : Physical 계층에서 전송된 비트패턴으로 송신자와 수신자의 동기를 맞추는데 사용된다. 7byte크기이며 항상 10101010 으로 설정된다. 패킷 캡쳐 범위 밖이다. SOF(Start Of Frame) : 물리계층이 끝나고 ..
TCP(Transmission Control Protocol)는 transport 계층의 대표적인 연결지향 프로토콜이다. TCP는 기본적으로 하위계층에서의(network, datalink 계층) 패킷 손실, 중복, 오류 등 모든 전송 문제를 검출하고 해결한다. TCP의 연결이 설정되고 통신하는 동안 두 종단 사이에는 다수의 옵션이 교환된다. 때문에 UDP에 비해 기능과 역할이 매우 복잡하고 다양하지만 신뢰성 있는 통신이 가능하다. 위 그림은 TCP의 구조를 나타내는데 이 중 위부터 다섯줄(20byte)이 TCP 헤더이다. Source Port : 패킷을 송신하는 시스템의 포트번호를 나타낸다. 클라이언트의 경우 예약된 0-1023의 well-known 포트번호를 제외한 번호를 임의로 생성하고 서버의 경우 ..
UDP(User Datagram Protocol)는 transport layer에서 동작하는 비연결지향형 프로토콜이다. 연결지향형인 TCP와는 달리 단순 오류검출 기능만을 지원하기 때문에 흐름제어나 오류제어등의 기능은 어플리케이션에서 담당해야만 한다. 이러한 이유로 UDP는 best-effort protocol로도 불린다. UDP는 그 특성 때문에 다른 전송 프로토콜에 비해 오버헤드가 적다. 따라서 브로드캐스트나 멀티캐스트, 소량의 데이터 전송 시에는 UDP를 이용하는 것이 효율적이다. [그림 1] UDP 구조 Source Port : 해당 패킷을 만든 송신자의 어플리케이션 포트번호를 나타낸다. Destination Port : 해당 패킷을 수신할 어플리케이션의 포트번호를 나타낸다. Length : UD..