컴퓨터 네트워크) 인터넷 프로토콜
👀 인터넷 프로토콜 구조
- 컴퓨터 상호간의 데이터 전달을 위한 통신구조로 현재 인터넷에서 사용하는 통신구조
TCP/IP(Transmission Control Protocol/Internet Protocol
라는 프로토콜을 사용하는데 이것은 인터넷과 연결된 컴퓨터들을 공용어라 할 수 있다.OSI 참조모델
과 다르게 5계층으로 구성되어 있다.
1. 하드웨어 계층
OSI 참조모델
과 마찬가지로 물리적으로 연결하는 케이블 등 데이터 통신에 관련된 하드웨어로 구성되어 있다.
2. 네트워크 인터페이스 계층
- 네트워크 액세스 또는 데이터링크 계층이라고도 한다.
- 프레임(Frame)을 네트워크 전송매체로 전달하는 것과 네트워크 전송매체에서 프레임을 받아들이는 과정 담당
TCP/IP
는 네트워크 접근 방법, 프레임 포맷, 매체에 대해 독립적으로 동작하도록 설계TCP/IP
는 서로 다른 네트워크 형태를 연결하는데 사용 가능- 네트워크 형태로는 이더넷(Ethernet), 토큰버스(Token Bus), 토큰링(Token Ring)과 같은 LAN 기술
- X.25, 프레임 릴레이(Frame Relay)와 같은 WAN 기술을 포함
- 네트워크 인터페이스 계층은
OSI 모델
에서 데이터 링크 계층에 해당
3. 인터넷 계층
OSI 모델
의 네트워크 계층에 해당하며 어드레싱(addressing - IP 주소를 만드는 것), 패키징(packaging - 데이터 전송 단위를 만드는 것), 라우팅(routing - 목적지까지 전송할 수 있도록 라우터에서 중개) 기능을 제공- 핵심 프로토콜은 IP, ARP, ICMP, IGMP 등을 포함
IP(Internet Protocol)
: IP 주소, 패킷의 라우팅을 책임지는 프로토콜ARP(Address Resolution Protocol)
: 인터넷 계층의 IP 주소를 네트워크 인터페이스 계층의 주소(MAC 주소 또는 물리적 하드웨어 주소)로 변환ICMP(Internet Control Message Protocol)
: IP 패킷의 전달에 따른 오류나 상태를 리포트하고 진단하는 기능IGMP(Internet Group Management Protocol)
: IP 멀티캐스트(multicast) 그룹의 관리
4. 트랜스포트 계층
- 두 호스트 간에 단대단(End-to-End) 통신을 제공
- 핵심 프로토콜은
TCP
와UDP(User Datagram Protocol)
TCP
- 1 대 1 연결 지향(전송 전 송-수신자간 논리적 연결을 먼저 함)
- 신뢰성 있는 통신 서비스 제공
TCP
연결 설정과 보낸 패킷의 확인, 순서화, 전달 중 손상된 패킷을 복구하는 기능 제공
UDP
- 1 대 1, 1 대 다의 비연결 지향
- 신뢰할 수 없는 통신 서비스 제공
- 주로 전달해야 할 데이터의 크기가 작을 때나,
TCP
연결 확립에 의한 부하를 피하려고 할 때 혹은 상위 프로토콜이 신뢰할 수 있는 전달을 책임지는 경우에 사용 - 예)
DNS
: 전달해야 할 데이터가 상대적으로 적어서 빠른 응답을 위해UDP
사용
5. 응용 계층
- 사용자와 가장 밀접한 관계를 가지고 있는 계층
- 여러 가지 응용 계층 프로토콜이 존재하며 지속적으로 새로운 프로토콜 개발
- 가장 많이 알려진 응용 계층 프로토콜로는
HTTP(HyperText transfer Protocol)
: WWW의Web 페이지
파일을 전송하는데 사용FTP(File transfer Protocol)
: 상호파일 전송
을 위해 사용SMTP(Simple Mail transfer Protocol)
:메일 메시지
와 그에 추가된 첨부 파일을 전송하기 위해 사용
TCP/IP
네트워크를 관리하거나 지원하는 응용 계층 프로토콜DNS(Domain Name System)
: 호스트 이름(예 : www.naver.com)을 숫자로 된 IP 주소로 변환하기 위해 사용RIP(Routing Information Protocol)
: IP 네트워크상에서 라우팅 정보를 교환하기 위해 라우터가 사용하는 프로토콜. 이를 이용해 최상의 라우팅 테이블을 유지하고 이 라우팅 테이블을 통해 가장 적합한 곳으로 패킷을 전송한다.SNMP(Simple Network Management Protocol)
: 네트워크 관리 콘솔과 네트워크 장비(라우터, 브리지, 지능형 허브)간에 네트워크 관리 정보를 수집, 교환하기 위해 사용. 네트워크 장비를 원격으로 관리할 수 있다.
인터넷 프로토콜 구현 환경
- 시스템 공간(계층 1 ~ 4) :
운영 체제
에서 동작(자동으로 설치됨) - 사용자 공간(계층 5) :
사용자 프로그램
으로 동작
프로토콜 캡슐화(Encapsulation)
- 인터넷 프로토콜도
OSI 참조모델
의 캡슐화 개념을 동일하게 사용한다. - 그래서 하위 계층으로 내려보내서 물리 계층에 도착하면 상대편에게 보내고 상대편은 물리 계층부터 상위 계층으로 올라가서 사용자에게 최종적으로 메시지를 보여주는 형태와 똑같이 동작한다.
🔸 수신측
- 응용 계층의 메시지(Message)는 트랜스포트 계층으로 전달되고, 트랜스포트 계층은 전달 받은 데이터 앞에 자신의 헤더를 추가한 후 세그먼트(Segment)를 만들어 네트워크 계층으로 전달
- 네트워크 계층은 전달 받은 데이터 앞에 자신의 헤더를 추가한 후 데이터그램(Datagram = Packet)을 만들어 링크 계층으로 전달
- 링크 계층은 전달 받은 데이터에 자신의 헤더를 추가하여 프레임(Frame)을 만든다.
- 마지막으로 프레임은 물리 계층에 해당하는 전송매체를 통해 상대방에게 전송
🔸 송신측
- 물리 계층에서 데이터를 수신하여 상위 계층으로 전달하는 과정 반복
-
각 계층은 자신의 데이터 단위가 도착하게 되면 프로토콜 동작 수행
- 그래서 인터넷 프로토콜 또한 상위 계층은 하위 계층의
서비스 사용자(Service user)
이고, 하위 계층은서비스 제공자(Service provider)
이다.