① TCP/IP 4계층
현재 인터넷에서 컴퓨터들이 서로 정보를 주고받는데 쓰이는 프로토콜의 모음
TCP/IP 4계층과 OSI Model 7계층은 다음과 같다. 설명의 순서는 상단에서 하단으로 이루어진다.
1. 애플리케이션 계층(Application Layer)
- OSI 계층에서 5,6,7 계층에 해당한다.
- 사용자가 응용프로그램과 소통할 수 있게 UI를 제공한다.
2. 전송 계층(Transport Layer)
- OSI 계층에서 전송 계층에 해당한다.
- 데이터의 송수신을 담당하고 통신 노드 간의 연결을 제어한다.
- 네트워크 양단의 송수신 호스트 사이에서 신뢰성 있는 전송 기능을 제공한다.
→ 딱 Socket통신, HTTP통신 공부할 때 배웠던 내용 그대로다
3. 인터넷 계층(Internet Layer)
- OSI 계층의 네트워크 계층에 해당한다.
- 논리적 주소인 IP를 이용한 노드간 데이터 전송과 라우팅 기능을 담당한다.
4. 네트워크 액세스 계층(Network Access Layer)
- OSI 계층의 1, 2 계층에 해당한다.
- 운영체제의 하드웨워적인 요소와 관련되는 모든 것을 지원하는 계층이다.
- 물리적으로 데이터가 네트워크를 통해 어떻게 전송되는지 정의한다.
- 에러 검출 기능과 패킷의 프레임화 기능을 담당한다.
특징
- TCP/IP가 OSI 모델보다 먼저 개발되었다.
- 두 모델 모두 계층형이지만 서로의 계층이 정확하게 일치하지는 않는다.
- OSI 모델은 장비 개발과 통신 자체를 어떻게 표준으로 잡을지 개념적으로 사용되는 반면 실질적인 통신은
TCP/IP 프로토콜을 사용한다.
기술적인 특징
1) 연결형 서비스
● 가상 회선 방식을 제공
● 3-way handshaking 과정을 통해 연결을 설정
● 4-way handshaking을 통해 연결을 한다.
2) 흐름 제어(Flow control)
● 데이터 처리 속도를 조절하여 수신자의 버퍼 오버플로우를 방지
3) 혼잡 제어(Congetsion control)
● 네트워크 내의 패킷 수가 넘치지 않도록 방지
4) 신뢰성 높은 전송
● Dupack-based retranmission : ACK값이 중복으로 올 경우 패킷 이상을 감지하고 재전송 요청
● Timeout-based retransmission : 일정시간동안 ACK 값이 수신을 못할 경우 재전송 요청
※ TCP와 UDP
HTTP 3.0의 특징 중 하나가 UDP인데 TCP와의 차이점을 알아보자.
- TCP의 신뢰성은 높고 속도는 느리다. 반대로 UDP는 신뢰성은 낮지만 속도는 빠르다.
- UDP는 멀티캐스팅과 브로드캐스팅이 가능하다.
① OSI 7 계층
Open Systems Interconnection, 컴퓨터 네트워크 프로토콜 디자인과 통신을 계층으로 나누어 설명하기 위해 개발한 모델
1. 응용 계층(Application Layer)
- 네트워크 자원에 사용자가 접근하는 방법을 제공하는 계층
- 최종적으로 사용자가 볼 수 있는 유일한 계층, 직접적으로 사용자와 상호작용한다.
- 웹 브라우저가 대표적인 예시이다.
- 프로토콜 : HTTP, Telnet, DNS, FTP
2. 표현 계층(Presentation Layer)
- 데이터의 변환 작업(인코딩, 디코딩, 암호화)을 하는 계층
- 응용 계층의 데이터 표현에서 독립적인 부분을 나타낸다.
- 프로토콜 : ASCC, MPEG, JPEG
3. 세션 계층(Session Layer)
- 응용 프로그램 간의 연결을 지원하는 계층
- 사용자와 서버 간에 대화가 필요하면 세션을 만드는 작업을 처리한다.
- 운영체제에 의해 세션 설정, 유지, 종료, 전송 중단시 복구 등을 할 수 있다.
- 프로토콜 : SSH, TLS
4. 전송 계층(Transport Layer)
- 서비스를 구분하고 데이터의 전송 방식을 담당하는 계층
- 포트(Port)번호를 사용하여 최종 도착지인 프로세스까지 데이터가 도달하게 한다.
- 보낼 데이터의 용량, 속도, 목적지 등을 처리한다.
- 양 끝단의 사용자들이 신뢰성 있는 데이터를 주고 받을 수 있게 해주어, 상위 계층들이 데이터 전달의
유효성이나 효율성을 생각하지 않도록 한다.
- 프로토콜 : TCP, UDP, ARP
5. 네트워크 계층(Network Layer)
- 서로 다른 두 네트워크 간의 데이터 전송을 부담한다.
- 데이터에 논리적 주소인 IP 주소를 부여하고 데이터를 목적지까지 가장 안전하고 빠르게 전달하는 기능(라우팅)을 한다.
- 데이터를 연결된 다른 네트워크로 전달함으로써 인터넷이 가능하게 만드는 계층이다.
- 프로토콜: IP, ICMP, IGMP
6. 데이터 링크 계층(Data Link Layer)
- 컴퓨터와 컴퓨터간 신뢰성있는 전송을 보장하기 위한 계층
- 물리 계층을 통해 송수신되는 정보의 오류를 검출하고 흐름을 관리한다.
- 데이터에 컴퓨터의 물리적 주소인 MAC 주소를 부여해서 출처를 알 수 있게 한다.
- 동일한 네트워크 내에서의 데이터 전송을 담당한다.(Ethernet)
- 프로토콜 : MAC, PPP, HDLC, etc...
7. 물리 계층(Data Link Layer)
- 네트워크의 하드웨어 전송 기술로 구성
- 전기적, 기계적, 기능적인 특성을 이용하여 통신 케이블로 데이터를 전송한다.
- 단지 데이터를 전달만 한다.
- 프로토콜 : Ethernet, RS-232C
특징
1) 통신이 일어나는 과정을 단계별로 파악하기 쉽다.
2) 특정 계층에서 이상이 생기면 해당 계층만 고치면 된다.
3) 일반적으로, 웹사이트나 네트워크 애플리케이션은 TCP/IP 모델을 기반으로 설계 및 개발됩니다. OSI 계층이란
TCP/IP를 세부적으로 구조를 나눈 것으로 보고 참고하는 용도하는데 주로 쓰인다.
'CS > 네트워크' 카테고리의 다른 글
[ blocking I/O ], [ non-blocking I/O ], [ sync ], [ async ] (0) | 2024.06.20 |
---|---|
IP 관련 개념 ☎ (0) | 2024.06.17 |
HTTP, Socket, WebSocket (0) | 2024.06.17 |
SEO(Search Engine Optimization) (0) | 2024.06.15 |
HTTPS (0) | 2024.06.15 |