Today I Learned …
[공부] TCP/IP 4계층 본문
* 개인적인 공부 내용을 기록한 글입니다.
* 「IT 엔지니어를 위한 네트워크 입문」을 참고합니다.
OSI 7계층과 TCP/IP 4계층
0. OSI 7계층과 TCP/IP 4계층
복잡한 네트워크를 단계별로 나누어 이해하기 쉽도록 도와주는 일종의 표준 규약이다.
네트워크의 연결은 각기 다른 역할을 담당하는 기능 및 장비들에 의해 어떠한 절차와 복잡한 규약을 바탕으로 한 논리 구조 위에서 이루어진다.
이 기능과 절차를 1983년도에 표준화하여 정리한 것이 OSI 7계층이다.
한편, 현대 네크워크는 대부분 IP를 기반으로 한 TCP 통신으로 이루어져 있다.
이에 TCP/IP 통신 방식이 통신 표준으로 채택되면서, 인터넷 프로토콜 스위트라고도 불리는 TCP/IP 4계층이 만들어졌다.
0-1. 계층을 나누는 이유
[1] 복잡한 작업을 여러개의 작고 단순한 작업들로 나눌 수 있게 해준다.
[2] 계층화의 가장 큰 특징은 모듈성이다. 즉, 각각의 계층을 여러개의 모듈처럼 취급할 수 있다.
[3] 모듈성은 서비스 구현의 분리, 전문화, 중간 시스템의 통신 가능이라는 이점을 가져다 준다.
[4] 때문에 하나의 계층이 고장나더라도 시스템 전체를 바꾸지 않아도 되며, 어느 계층이 고장났는지 파악하기가 쉽다.
1. OSI 7계층
[1] 과거에는 통신용 규약이 표준화되지 않았기 때문에 호환되지 않는 시스템이나 애플리케이션이 많았고, 통신이 불가능한 경우가 잦았다.
[2] 이를 하나의 규약으로 통합하려는 노력이 현재의 OSI 7계층으로 남아있다.
[3] 네트워크 동작을 나누어 이해하고 개발하는 데 많은 도움이 되므로 네트워크의 주요 레퍼런스 모델로 활용되고 있지만, 현재는 대부분의 프로토콜이 TCP/IP 프로토콜 스택 기반으로 되어있다.
2. TCP/IP 4계층
TCP/IP 4계층 = 인터넷 프로토콜 스위트 (Internet Protocol Suite) = 인터넷 프로토콜 모음
[1] 데이터가 의도된 목적지에 닿을 수 있도록 보장해주는 통신 규약으로, 가장 일상적으로 사용되는 프로토콜 모음이다.
[2] 컴퓨터가 데이터 패킷을 컴파일하고 올바른 위치로 전송하여 인터넷을 통해 다른 컴퓨터와 통신 할 수 있게 한다.
[3] TCP/IP 5계층이라고 하는 경우도 있는데, 기존의 TCP/IP 4계층에 OSI 7계층을 조금 반영하여 Network Interface 계층을 Datalink 계층과 Physical 계층으로 다시 나눈 것을 말한다. 공식적으로는 4계층이다.
3. OSI 7계층 vs TCP/IP 4계층
[1] 두 모델 모두 계층형 구조를 갖고 있다.
[2] TCP/IP 4계층이 OSI 7계층 보다 먼저 개발되었다. 따라서 둘은 정확하게 일치하지는 않는다.
[3] 두 계층을 비교해보면, OSI 7계층에는 존재하는 세션과 프레젠테이션 2개의 계층이 TCP/IP 4계층에는 없다.
[4] TCP/IP 4계층은 인터넷 개발 이후 계속 표준화되어 신뢰성이 우수하나, OSI 7계층은 실제적으로 구현되는 예가 거의 없어 신뢰성이 다소 저하되었다.
[5] OSI 7계층은 이론적인 모델에 가까우며, 실질적인 통신에서는 대부분 TCP/IP 4계층을 이용한다.
TCP/IP 4계층
1층. 네트워크 인터페이스 계층 (Network Interface Layer)
네트워크 드라이버와 같은 물리적인 TCP/IP 패킷의 전달 및 수신 과정을 담당한다.
MAC Address로 호스트의 NIC (LAN 카드) 를 판별한다.
▶ Protocol Example
① Ethernet
② Token Ring
③ PPP
2층. 인터넷 계층 (Internet Layer)
IP 주소를 판독한 후 라우팅을 통하여 패킷을 호스트로 전달하는 역할을 담당한다.
IP Address로 호스트를 판별한다.
▶ Protocol Example
① IP
② ARP
③ RARP
④ ICMP
⑤ IGMP
⑥ OSPF
3층. 전송 계층 (Transport Layer)
신뢰성 있는 데이터 전송을 위해 전달되는 패킷의 오류를 검사하고 재전송을 요구하는 등 전반적인 제어를 담당한다.
Port 번호로 프로세스를 판별한다.
▶ Protocol Example
① TCP
② UDP
4층. 응용 계층 (Application Layer)
사용자의 응용 프로그램 레벨에서 데이터를 처리하는 계층으로, 사용자와 가장 가까운 계층이다.
서버나 클라이언트 응용 프로그램이 이 계층에서 동작한다.
동작을 위해 전송 계층의 주소, 즉 Port 번호를 사용한다.
▶ Protocol Example
① HTTP (80)
② FTP (Data : 20, 제어 : 21)
③ Telnet (23)
④ DNS (53)
⑤ SMTP (25)
⑥ SSH (22)
TCP/IP 4계층을 통한 컴퓨터 간 통신 과정
참고 포스팅
https://blockdmask.tistory.com/195
https://reakwon.tistory.com/68
'Computer > 공부' 카테고리의 다른 글
[공부] SSH (Secure Shell) : 공개키 인증을 사용하여 로그인하는 방법 (0) | 2021.10.20 |
---|---|
[공부] VSCode에서 SFTP Extension 사용하기 (1) | 2021.10.18 |
[공부] 프로토콜 (Protocol) (0) | 2021.10.18 |
[공부] 자주 쓰는 Git 명령어 정리 (0) | 2021.10.17 |
[공부] 해싱 (Hashing) (0) | 2021.10.17 |