Chapter3 : Transport Layer(1)

jiwon·2021년 12월 26일
0

컴퓨터네트워크

목록 보기
6/13
post-thumbnail

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 방식
profile
개발 공부합니다. 파이팅!

0개의 댓글