이 포스트는 2021.12~2022.09 기간동안 벨로그에 작성한 글을 티스토리에 옮겨 적은 것입니다.
3.1 Transport layer service
L4의 대표적인 프로토콜: TCP,UDP
4계층의 가장 중요한 업무: multiplexing, demultiplexing
TCP만 하는 업무: reliable data transfer, flow control, congestion control, connection set up
TCP의 send side
msg를 segment로 쪼갬
TCP의 rcv side
segment를 msg로 다시 reassemble
※UDP의 경우 L3이 잘라준다.(ip fragment)
쪼개는 작업은 누가?
L4,L3,IPV4라우터
L4는 MSS(maximum segment size)로 쪼개고, L3은 MTU(maxium transmission unit) 단위로 쪼갬.
※MSS < MTU
L3 vs L4
L3: host간의 소통
L4: 소켓 간의 소통
3.2 Multiplexing/Demultiplexing
mux: port num을 transport 계층 pdu 헤더에 넣기
demux: rcv host의 L4 계층에서 소켓을 찾아 전달
각 datagram은 하나의 segment 운반. 하나의 segment는 dst port num과 src port num 가짐
connectionless demultiplexing(udp)
udp는 하나의 소켓이 여러 프로세스와 통신. dst ip와 dst port num을 소켓에 알려줘야 함.
※point to multipoint(multicast)
short, one time transaction, real time streaming
connection oriented demux(tcp)
connection setup 시 dedicated 된 소켓 사용. 소켓에 src ip addr, src port num, dst ip addr, dst port num 알려줘야 함!
※point to point
email, web document, vod streaming
3.3 Connectionless trasport: UDP
UDP: User Datagram Protocol
loss나 out of order 가능성
connectionless → no handshaking
loss엔 tolerant(둔감)하고 rate(throughtput)에 민감한 서비스에 UDP 사용하면 좋다.
UDP 쓰면서 reliable을 원한다면 L5에서...
UDP checksum
sender:16bit 단위로 segment contents를 귾어 더한 후 1의 보수 취함
recevier: sender와 같은 연산 취하고 sender가 보낸 checksum과 같은지 비교. 같으면 에러 없는거고 다르면 drop하거나 report!
하지만... 2bit in 16 bit distance flip이면 에러 발견 불가능
L4에서 checksum하는 이유.
1. L2 프로토콜은 error recover 불가능
2. 중간라우터에서 에러 발생 시 발견 불가능
3.4 principles of reliable data transfer
Timer가 timeout인지 판단.
timeout value에 따라..
너무 짧은 경우- prenature timeout: ack이 오기 전에 timeout 처리해버려서 불필요한 재전송
너무 긴 경우- long delay: loss 돼도 너무 오래 기다려야..
- stop wait 방식
- pipelining 방식
'개발 관련 공부 > 컴퓨터 네트워크' 카테고리의 다른 글
Chapter4 : Network Layer: The Data Plane(1) (0) | 2022.09.12 |
---|---|
Chapter3 : Transport Layer(2) (0) | 2022.09.12 |
Chapter2 : Application Layer(3) (0) | 2022.09.12 |
Chapter2 : Application Layer(2) (0) | 2022.09.12 |
Chapter2 : Application Layer(1) (0) | 2022.09.12 |
댓글