- 캡슐화 : 통신간 상위 layer에서 하위 layer로 프로토콜을 생성하는 것
- 디캡슐화 : 통신간 하위 layer에서 상위 layer로 프로토콜을 분석하는 것
- packet : 네트워크 상에서 전달되는 Data의 통칭으로 전달하는 Data의 형식화된 블록이다. 이는 제어 정보인 Header와 풋터, 사용자 데이터인 payload로 이루어진다
- payload : 상위 layer에서 내려온 Data
- 풋터(tail) : 추가적인 정보를 가진 Data로 제어 정보를 담고 있다
- Header : 제어 정보와 관련된 Byte 단위의 Data로, layer 마다 담는 정보가 다르며, 해당 정보는 하위 layer로 보낼시 payload로 캡슐화 된다
- OSI 7 Layer 중 4 Layer이며, Transmission Control Protocol로 양쪽 노드가 통신할 준비가 되었는지, Data가 제대로 전송됬는지, 전송된 Data가 정상인지, Data의 순서가 올바른지를 Tcp Header에 담아 segment에 붙여 점검한다.
- TCP는 IP의 정보뿐만 아니라 Port를 이용하여 연결한다
- TCP/IP 프로토콜을 통한 통신을 하는 응용프로그램이 Data 전송 전 TCP의 연결을 초기화하여 상대방과 세션을 수립하는 과정
- A가 B에게 접속을 요청하는 SYN 패킷 전송 후, SYN/ACK를 기다린다 (SYN_SENT)
- B가 SYN을 받고 A에게 SYN+ACK 패킷을 전송 후, ACK를 기다린다(SYN_RECEIVED)
- A가 SYN+ACK 패킷을 받고, B에게 ACK를 전송 한다. B가 확인하면 B는 ESTABLISHED가 되며 Data 전송이 시작된다.
- TCP/IP 프로토콜을 통해 수립한 세션을 종료하는 과정
- 세션 종료전 전송된 패킷이 지연이나 유실을 통해 종료 후 도착하여 유실되는 상황을 대비해 A는 FIN을 받고 나서도, 일정시간동안 세션을 남겨놓고 대기한다 (TIME_WAIT)
- A가 B에게 FIN FLAG 전송
- B가 ACK를 보내고, 통신 종료를 기다림 (TIME_WAIT)
- B가 통신이 끝나면, A에게 FIN FLAG 전송
- A가 FIN FLAG에 대한 ACK 전송 (TIME_WAIT)
7layer Application : 여러가지 서비스를 제공하는 실질적인 프로그램, 사용자 인터페이스 (HTTP, TELNET)
6layer Presentation : Data를 어떤 형식으로 전달할지 정하는 계층
5layerSession : 논리적인 연결을 정의하는 계층, 단위는 DATA OR Message이며, 네트워크 장치들간의 연결 설정의 유지 동기화 등을 어떻게 수행할지를 정의
4layer Transport : 포트 주소를 이용해서 SEGMENT 단위를 사용하며 사용자간의 연결을 생성하고, Data 전송량과 전송여부를 확인한다. (TCP, UDP) - 게이트웨이
3layer Network : IP 프로토콜을 사용해 PACKET 단위를 사용하며 Routing을 통해 경로와 목적지를 찾는다 (ARP, ICMP) - 라우터
2layer DataLink : MAC주소를 이용해서 FRAME 단위를 사용하며, 특정 네트워크에서 특정 PC를 찾아가는 역할 (이더넷) - 브릿지, 스위치
1layer Physical : 상위 계층에서 캡슐화된 데이터를 bit 단위로 변경, 전기신호로 전송하고 받은 전기신호를 bit단위로 해석하는 역할 - 케이블, 리피터, 허브