→ application계층은 app에 의해 관리되며 나머지계층은 os(운영체제)에 의해 관리된다.
= 프로그램이 네트워크에서 데이터를 주고받을 수 있도록 네트워크 환경에 연결할 수 있게 만들어진 연결부로 application과 transport계층 사이에 생성된다.
(1) TCP와 UDP의 차이점
(2) HTTP
: application 계층에서 browser(HTTP Client)와 Web Server(HTPP Server) 사이에 교환하는 메시지
→ 서버는 과거 요청을 기억하지 않는다.
Non-persistent-HTTP
: client와 server 사이에 메시지를 보낼 때마다 TCP Connection을 맺어야함
Persistent HTTP
: client와 server사이에 하나의 TCP Connection으로 여러 메시지를 보낼 수 있음
→ server와 client 각자 socket을 생성
→ client에서 message + serverIP / serverPort를 사용해 메시지를 전송
→ server에서 read, write 후에 serverSocket으로 들어온 메시지안에서 clientIP와 clientPort를 사용해 reply
→ client에서 read하고 socket을 close함.
connection 생성
→ server는 request connection이 올때까지 대기(listen)
→ client가 server에 request connection
→ server가 connection 수락(accept), connectionSocket을 생성
실제통신
→ client에서 message를 전송
→ server에서 connectionSocket에 담겨있는 message를 read, write한 후에 connectionSocket으로 전송, connectinoSocket을 close
→ client에서 read하고 socket을 close함
TCP Client
→ Socket 생성
→ connect 요청(connect) : serverIP + serverPort
→ 메시지 전송(send) : 암호화된 sentence
* serverIP와 serverPort를 포함하지 않음
→ 메시지 받기(recv) : 서버에서 보낸 modifiedSentence
→ Socket 닫기(close)