- 양 방향 통신에서 각 계층이 서로 상반되는 두가지 작업을 동시에 수행할 수 있도록 만들어야 한다.
- ex) 한쪽은 듣기 반대쪽은 말하기를 해야한다.
- 양 쪽, 각 계층에 있는 객체는 서로 동일해야 한다.
Physical : 케이블, 공기 등을 매개체로 데이터의 물리적인 이동이 이루어지는 계층이며 데이터 링크 계층으로부터 받은 프레임들을 비트로 전달하는 역할을 가진다.
Data link : 잡음으로부터 링크를 통해 데이터전송이 올바르게 이루어지도록 에러를 검출 역할을 가진다.
네트워크 계층으로부터 datagram(packet)을 받아 링크로 전송하며 프레임이라 불리우는 패킷으로 캡슐화되어 링크로 전달된다.
Network : 데이터를 패킷 단위로 잘개 쪼개고 송수신 주소를 명시하고 라우팅을 수행한다.
데이터가 전송될 수 있는 많은 경우의 수 중 가장 효율적인 라우팅 방법을 찾는다.
- 라우팅 : Sender-Receiver 관계에서 어느 링크로 보낼지 결정, 최종 목적지로 경로 설정 -> 라우팅 테이블 이용!
Transport : 네트워크 계층에서 보내온 데이터들을 순서에 맞게 정렬하며 packet loss를 감지하고 데이터 송수신을 요청함으로써 end-to-end (종단간) 신뢰할 수 있는 통신을 확보한다. (segment 단위)
- 각 라우터들은 버퍼를 가지고있는데 버퍼가 가득 차게 되면 packet loss 가 일어남 -> 데이터 손실!
Application : 이메일, 웹 브라우저, 파일 전송 등에서 http 요청 / 응답에 대한 포맷, 프로토콜을 정의한다. (message 단위)
Layered Architecture
- Switch : 단순히 데이터를 넘겨주는 역할
- peer to peer 개념 적용 : 프로토콜이 동작되고 있으면 프로토콜을 받는 상대도 존재한다.
Addressing : Only have 4 pairs of addresses(source, destination) in TCP/IP
-> Physical layer does not need address because the unit of data exchanged at the physical layer is a bit which cannot have an address.
Presentaion : 데이터 전송 표현, 시스템에서 데이터의 형식상 차이를 맞춰준다. (압축, 인코딩, 디코딩 등)
- 영어 <-> 불어 소통할 수 없다.
- ASCII 형식으로 데이터를 주고 받겠다.
Session : 통신하는 세션들을 확립, 유지, 중단하며 동기화 역할을 가진다.
- 세션전송에 있어 오류 발생시에 해당 부분만 재전송할지 or 전부 재전송할지 등 결정!
- 음성 세션, 영상 세션 전송시에 동기화 제어
- ex) Time stamp
TCP/IP VS OSI Model