Dealing with complex system.
물리적 매체(허브, 라우터, 케이블..)로 데이터를 송신, 수신하는 역할을 한다.
PUD : bit
네트워크 기기들 사이의 데이터 전송을 하는 역할을 한다.
PUD : Frame
protocol : Ethernet, PPP, ATM, Lan, Wifi
ARP:Address Resolution Protocol
네트워크상에서 IP주소를 물리적 주소(MAC)으로 bind 시켜주는 프로토콜
목적지 IP는 알지만, 물리적 주소를 모를때 IP주소에 대한 MAC주소를 찾아주는 프로토콜
기기에서 Datagram이 가는 경로를 설정해주는 역할을 한다.
Network layer function에는 forwarding과 routing이 있다.
네트워크 장치의 활동 영역
PUD : Packet
protocol : IP, ICMP, DHCP
라우터 : 패킷이 지나갈 최상의 경로를 찾아낸 뒤, 다른 망으로 패킷을 보내주는 역할을 한다.
DHCP : Dynamic Host Configuration Protocol(동적 호스트 설정 프로토콜)
IP를 필요로하는 컴퓨터에게 자동으로 IP를 할당해서 사용할 수 있도록 해주고, 사용하지 않으면 다른 컴퓨터가 주소를 사용할 수 있도록 할당하는 프로토콜.
신뢰적인 연결보다는 빠른 속도가 중요하기 때문에 UDP사용
ICMP : Internet Control Message Protocol
인터넷 메시지 제어 프로토콜로서 오류 메시지를 전송받는 데 주로 쓰인다. TCP.IP에서 패킷 처리 시 발생하는 문제를 알리며 주로 IP와 함꼐 동작한다.
end system(sender, receiver)간 제어와 에러를 관리한다. 패킷의 전송이 유효한지 확인하고, 전송에 실패한 패킷을 재전송하거나 무시한다.
Transport layer은 multiplexing과 demultiplexing을 지원한다.
PUD : segment
protocol : TCP, UDP, RTP
세션 연결의 설정과 해제, 세션 메시지 전송 등의 기능을 한다.
세션 연결이 손실되는 경우, 연결 복구를 시도한다. 오랜 기간 연결이 되지 않으면 세션 계층 프로토콜은 연결을 닫고 다시 연결을 재개한다.
protocol : ISO-SP, RTCP, SMPP
송신측과 수신측 사이에서 데이터의 형식을 정해준다. 받은 데이터를 코드 변환, 암호화, 압축의 과정을 통해 올바른 표준 방식으로 변환해준다.
protocol : JPG, MPEG
사용자와 바로 연결되어 있어, 사용자로부터 정보를 받아 하위 계층으로 전송하고, 하위 계층에서 데이터를 받아 사용자에게 전달한다.
Application layer의 protocol은 다음과 같은 것을 정의 한다.
kernel part인 하위 계층과 소통하기 위해 Socket API를 사용한다.
process간 소통(Socet addressing) - IP + port number
host간 소통 - IP + MAC
protocol : DNS, HTTP, SMTP, FTP
각 계층 별 data unit을 정리해 둔 이미지이다!
전송한, 전송된 데이터는 위와 같은 순서를 거치며 각 계층에서 header을 추가, 처리하는 과정을 거친다.