2019. 5. 9. 11:18ㆍ네트워크/기초
실제 사용하고 있는 인터넷에 대해 알아보자.
TCP/IP는 과거 ARPANET에서만 사용하고 있다가 1982년 TCP/IP의 사양이 결정되면서 UNIX OS에 해당 프로토콜이 탑재되면서 사용화되기 시작했다.
본래 통신이 끊기지 않는 목적으로 개발되고 사용해왔기 때문에 보안에 대한 개념은 전혀 존재하지 않아 각종 공격에 노출되어 있는 상태이다.
TCP/IP와의 비교 그림이다. 원래 위 그림과 같이 4계층으로 구성되어 있지만, 현재 5계층 모델로 간주하고 있다.
서로다른 운영체제 하드웨어 성능 등이 모두 달라도 통신을 할 수 있는 높은 개방성때문에 TCP/IP가 가장 인기를 끌고 이용하고 있다.
세션계층과 표현계층이 TCP/IP프로토콜에 없는 것을 확인할 수 있는데 이는 OSI모델 발표 후 TCP/IP프로토콜에 포함하지 않았기 때문이다.
TCP/IP가 어떻게 동작하는지에 대해서는 OSI 7계층의 이해가 필요하다.
이전 게시글에서 OSI 7계층이 어떻게 되어있는지 적혀있다.
TCP/IP의 계층은 어떻게 돌아가는지 확인해보자.
1. 네트워크 인터페이스(Physical)
물리적으로 데이터가 전송되는 계층으로 비트단위로 통신
osi 7계층의 물리 계층이 여기에 속한다고 볼 수 있다.
2. 데이터 링크(Data Link)
전송매체에 프레임을 전송하는 계층으로 프레임 단위로 통신
osi 7계층의 데이터 링크 계층과 동일하다.
2. 인터넷 계층(Network Layer, Internet Layer)
네트워크 계층이라고도 불리며 라우팅 기능을 제공한다.
패킷 단위로 통신한다.
ip : 호스트 네트워크 주소 관리
arp : 네트워크 호스트들의 하드웨어 주소(mac) 확인
icmp : 패킷 전송 관련 오류 메시지 처리
osi 7계층의 네트워크 계층과 동일한 기능을 제공한다.
3. 전송 계층(Transport Layer)
양 끝단의 컴퓨터와 통신을 제어하는 기능을 제공한다.
사용자 프로토콜에 따라 세그먼트, 사용자 데이터그램, 패킷 통신단위를 이용한다.
tcp : 연결지향형
udp : 비연결지향형
osi 7계층의 전송계층과 동일한 기능을 제공한다.
4. 어플리케이션 계층(Application Layer)
응용프로그램이 사용하는 통신을 제어하고 인터페이스 기능을 제공한다.
OSI 7계층의 응용계층이 여기에 속한다.
TCP/IP프로토콜은 계층화되어 인터넷을 사용한다. 이때 중요한 개념이 캡슐화와 역캡슐화다.
캡슐화는 발신지에서 이루어지고, 역캡슐화는 수신지에서 이루어진다.
단, 데이터링크 계층 스위치는 캡슐화와 역캡슐화 작업이 이루지지지 않는다.
TCP/IP는 3개의 서로 다른 계층의 주소가 사용되는데,
물리주소, 논리주소, 포트주소이다.
물리주소는 흔히 MAC이라고 불리며, 인터페이스의 고유 ID와 같다고 보면 된다.
논리주소는 IP라고 불리는데 현재 32비트의 IPv4와 128비트의 IPv6을 사용하고 있다. 인터넷 상의 독립적인 주소로 전세계적인 통신 서비스를 위해 필요하다.
포트주소는 동시에 발생되는 서로다른 프로세스를 위해 서로 다른 프로세스를 식별하는 방법으로 사용한다.(TELNET, SSH 등)
TCP/IP가 잘 이해가 되지 않는다면 OSI 7계층도 이해가 안간상대라고 보면된다. OSI 7계층이 어떤건지 어떻게 통신을하는건지 이해를 했다면 TCP/IP는 오히려 더욱 쉬워진 느낌을 받을 수 있을 것이다.
대강 어떻게 통신을 하는건지 이해했다면 다음으로는 각종 프로토콜이 뭔지 궁금해질 것이다. 이에대한 내용은 따로 얘기할 것이다.