Computer Science/Computer Network

[CS][컴퓨터 네트워킹 하향식 접근] Chapter2.7 socket programming with UDP and TCP

y-seo 2023. 11. 2. 21:21

 

 
 

Chapter02. Application Layer

 

 
 

Socket Programming

  • Application과 Transport 사이에 있는 socket
  • application process와 end-end-transport protocol 사이의 문
  • app 간의 통신이 가능하게 함

 

 
 

UDP

  • unreliable datagram
  • UDP에서 segment 생성 → IP로 보냄
  • Query 하는 애들은 씀
  • 순서 변경은 안하지만 순서대로 도착 안할 수도
  • client와 server 사이에 미리 link 설정 X
  • 데이터 보내기 전에 no handshaking
  • 보내는 packet마다 도착지 주소가 적혀 있어야 함 (IP주소&Port번호)
    • explicitly하게 = 서버만
  • data의 lost/receive 된 게 out of order될 수도
  • IP에게 가장 가까운 길이 어디냐고 물어봄

 

 
 

TCP

  • reliable, byte stream-oriented
  • 순서대로 잘 들어옴
  • server process는 무조건 미리 running
  • server은 client의 contact을 환영하기 위해 만들어둔 socket이 있다 - 기다리고 있는게 있다
  • client는 server에 TCP socket을 만들고 IP 주소/포트 넘버를 특정화하여 연결
  • client가 socket을 생성하면 자동으로 서버에 접속하여 링크 설정 O
  • client에 의해 연결되면 server TCP는 새로운 socket을 생성
    • server가 여러 client와 통신 가능하게 함 + 동시도
    • source port number가 client를 구분하게 함
  • Application viewpoint : 순서 보조, pipe처럼 연결