
데이터 덩어리이다.
S A B D server
C E
이전엔 circuit switch 방식이 사용되었다.(전화)
packet이 되면서 음성 데이터를 코덱해서 이진수 형태의 패킷으로 잘라서 보낸다.
하지만 패킷마다 다른 경로로 갈 수도 있고 유실될 수도 있고 도착시간이 다를 수도 있고 데이터에 비해 오버헤드 양이 너무 커지기도 했다.
이걸 tcp가 정확하게 보내준다.
5: Application
4: Transport
3: Network or Internet
2: Data-Link
1: Physical
이 때 전달되는 데이터를 frame이라고 한다.
TCP
전달되는 패킷을 정확하고 규칙되게 전송될 수 있도록 한다.
(패킷마다 번호를 붙여서 보냄)
(시퀀스 넘버를 붙인다) -> 20 byte
-> 신뢰성
UDP
그냥 패킷만 던지고 끝이다.
(시퀸스 넘버가 없다) -> 8 byte
-> 신뢰성 x
-> 하지만 빠르다.
-> 데이터가 유실되어도 괜찮은 것에 사용된다.(전화)
-> 요즘에는 5계층에서 신뢰성을 높이고 UDP를 사용한다.
와이어 샤크에서 확인 해보면 wi-fi도 이더넷 형식으로 되어 있다.
라우터 -> 라우터 -> 라우터 일 때는 3계층 확인하고 다시 보내는 과정이 반복된다.
그래서 4계층 프로토콜은 end-to-end(종단간 프로토콜이라고 한다.
왜냐하면 라우터가 중간에 4계층 프로토콜을 볼 일이 없기 때문이다.
tcp에서 시퀀스 넘버는 1,2,3 형식으로 붙는 것이 아니라 바이트 형식으로 올라간다.
#1 100byte #101
위 같이 붙는다.
시퀀스 넘버의 초기값을 정확하게 맞춰주기 위해 3-way handshake를 사용한다.
Port
tcp에는 port 번호가 있다.
4계층과 5계층 사이
Application을 구별하기 위한 주소
tcp로 받은 패킷은 많은데 이 패킷이 어떤 Application으로 가야하는지를 정해야한다.