Chapter 3 Transport layer - 1

주리링·2021년 11월 23일
0

컴퓨터 네트워크

목록 보기
1/5
post-thumbnail

단순히 공부와 정리용으로 적은 글 입니다!

3.1 transport-layer services

transport service protocol

send side : application layer에서 온 message를 쪼개 segment로 만들고 network layer로 보낸다.

receive side : segments를 reassemble하여 message로 만들어서 application layer로 보낸다.

transport VS network layer

network layer는 IP address로 host를 구분하여 host간의 communication을 한다.

transport layer는 port#로 process를 구분하여 process간의 communication을 한다.

Internet transport layer protocol

TCP : reliable(error, loss X), in-order, congestion control, flow control, connection setup

UDP : unreliable, unordered, not guarantee delay, bandwidth

3.2 multiplexing and demultiplexing

TCP/UCP segment format

Multiplexing And Demultiplexing

multiplexing : sender에서 segment(header)에 port#를 더한다

demultiplexing : receiver에서 segment를 알맞은 소켓으로 전달한다

How demltiplexing works

  1. 각각의 datagram (network layer)은 source IP, destination IP를 가짐
  2. 각각의 datagram은 하나의 transport layer segment를 옮김
  3. segment는 source, destination port#를 가짐
  4. host는 IP와 port#를 이용하여 segment를 알맞은 소켓으로 보냄

Connectionless demultiplexing(UDP)

  1. destination의 IP와 port#를 이용하여 소켓을 구분함
  2. connection이 없으므로 (프로세스를?)구별을 하지않고 보내고 끝임
  3. host가 UDP segment를 받으면 destination port#를 받고 해당 process를 찾아서 보냄
  4. source IP와 port#에 상관 없이 destination은 IP와 port#이 같으면 같은 소켓으로 전달됨

Connection-oriented demultiplexing(TCP)

  1. source의 IP와 port#, destination의 IP와 port#를 이용하여 소켓을 구분함
  2. 웹 서버는 각각의 connection client마다 다른 socket을 사용함(non-persistent HTTP방식도{이건 더 찾아 보기~})
  3. destination은 IP와 port#이 같아도 source IP와 port#가 다르면 다른 socket으로 전달함

  1. 이렇게 thread로 소켓을 만들어서 서버를 만들어도 됨
profile
코딩하는 감자

0개의 댓글