여러 프로토콜들로 구성된 TCP/IP는 현재 산업 표준 프로토콜로 사용되고 있음.
TCP/IP 프로토콜의 필요성과 역할을 살펴볼 필요가 있음.
주요 용어
- 인터넷 네트워킹 기술 :
서로 떨어져 있는 수많은 네트워크를 연결하여 하나의 거대한 네트워크처럼 사용할 수 있도록 해주는 기술 - DoD 모델 :
미국방성에 사용한 컴퓨터 통신망 모델로 데이터링크, 인터넷, 전송, 프로세스 응용 계층으로 구성됨 - TCP :
IP 프로토콜위에서 연결형 서비스를 지원하는 전송계층 프로토콜 - UDP :
하부의 IP 프로토콜을 이용해 비연결형 서비스를 지원, 작지만 빠른 전송이 가능 - 물리주소 :
하나의 네트워크 내에서 호스트를 식별하는 물리적 하드웨어 주소 - 인터넷 주소 :
서로 다른 네트워크 간에 호스트를 식별하는 논리주소
TCP / IP 개념과 기본구조
TCP / IP의 등장
Internetworking Technology
- 네트워크들을 상호 연결하는 기술
- 서로 다른 네트워크에 연결되어 있는 컴퓨터 사이의 통신이 가능
- DoD ARPA(Advanced Research Project Agency)
Transmission Control Protocol / Internet Protocol
- TCP / IP Internet Protocol Suite
- 1970년대 Robert Kahn과 Vinton Cerf 등에 의해 개발
- 1982년 미군 컴퓨터 네트워킹의 표준으로 제정
DoD 모델(DARPA 모델)
TCP / IP 기본 구조
TCP / IP 주요 특징
- 연결형 서비스 및 비연결형 서비스 제공
- 패킷 교환
- 동적 경로 할당
- 공통의 응용 프로그램 제공
TCP / IP 계층의 역할
- 데이터링크 계층
- 네트워크 인터페이스
- device driver와 interface card로 데이터 통신 처리
- 대표적 프로토콜
- ARP (Address Resolution Protocol) : IP 주소 -> 물리주소
- RARP (Reverse ARP) : 물리주소 -> IP 주소
- 인터넷 계층
- 네트워크상에서 패킷의 이동을 처리 (패킷 라우팅 등)
- 대표적 프로토콜
- IP : Internet Protocol
- ICMP : Internet Control Message Protocol
- IGMP : Internet Group Management Protocol
- 전송 계층
- 호스트 컴퓨터 사이의 데이터 전송 서비스
- 대표적 프로토콜
- TCP : Transmission Control Protocol
- UDP : User Datagram Protocol
- 응용 계층
- 응용 프로세스를 위한 프로토콜
- 대표적 프로토콜
- TCP 이용 :
FTP, SMTP(Simple Mail Transfer Protocol), Telnet 등 - UDP 이용 :
TFTP (Trivial FTP), DNS (Domain Name System), BOOTP (Bootstrap Protocol) 등 - IP 직접 이용 : traceroute 프로그램
- ICMP 직접 이용 : ping 프로그램
인터넷 주소
호스트 식별
- 인터넷에 연결되어 있는 호스트 식별
- 3가지 종류의 주소
- 물리주소 :
네트워크내에서 호스트를 식별하는 물리적 하드웨어 주소로서 네트워크 인터페이스 주소 - 인터넷 주소 (IP 주소) :
서로 다른 네트워크 간에 호스트를 식별하는 논리주소 - 포트 주소 :
프로세스를 식별하는 포트 번호
- 물리주소 :
IP 주소
포트 주소
- 포트 번호 (port number)
- TCP 및 UDP에 의해 응용 프로그램을 식별
- 2바이트 (16비트)로 구성
- FTP 서버 (TCP 21), TFTP (UDP 69), Telnet (TCP 23), SMTP (TCP 25)
- 포트 주소의 구성
포트번호 | 사용처 |
0 | 사용되지 않음 |
1 ~ 255 | well-known service |
256 ~ 1023 | 기타 well-known service |
1,024~4,999 | 임시 client 포트 |
5,000 ~ 65,535 | 사용자 정의 server |
캡슐화
Encapsulation
- 데이터에 각 계층의 제어정보를 추가하는 것
- Service Data Unit + Protocol Control Information = Protocol Data Unit
Decapsulation
- 수신측 시스템의 해당 계층에서 수행되는 캡슐화의 반대 과정
- 물리 계층 이외의 모든 계층에서 수행됨
IP
개요
- 인터넷 프로토콜 : OSI 모델의 네트워크 계층의 기능
- 사용자에게 복잡한 인터넷의 개별 네트워크들의 구조를 숨겨
모든 호스트들을 열결하는 1개의 가상 네트워크로 보이도록 함. - 네트워크 계층의 투명성(transparency)를 제공함
송신자 호스트는 수신자 호스트까지 경유해야 하는
데이터링크 및 라우터에 관한 물리적 세부 사항을 알지 못해도
데이터그램을 전송할 수 있도록 해줌.
비연결(Connectionless) 서비스
- 인터넷 계층의 투명성
- IP 역할 : 호스트의 주소 지정 및 데이터그램 전송
- 경유해야 하는 데이터 링크 및 라우터 정보를 무시
- 신뢰성이 없는 데이터 전송
데이터그램
- 버젼 (4비트) : IP version 식별 번호
- 헤더길이 (4비트) : 20 ~ 60 bytes
- 5 : 20 bytes
- 15 : 60 bytes
- (1 word = 4 bytes)
- 서비스 유형(8 비트) : QoS
- 3 개 비트 : 우선순위
- 4 개 비트 : 서비스 유형
- 0000 : 기본
- 0001 : 비용 최소
- 0010 : 신뢰성 최대
- 0100 : 처리량 최대
- 1000 : 지연 최소
- 1 개 비트 : 사용하지 않음
- 전체 길이 (16 비트) : 데이터그램 길이
- 식별자 (16 비트) : 데이터그램이 단편되었을 때 각 단편은 동일한 식별자를 가짐
- 플래그 (3 비트)
- 1 개 비트 : 사용하지 않음
- 1 개 비트 (DF)
- 1 : More Fragment
- 0 : Fragment
- 1 개 비트 (MF)
- 1 : More Fragmetn
- 0 : 마지막 단편, 유일한 단편
- 단편 오프셋(13 비트) :
메세지가 단편 되었을 때 데이터 그램 내의 데이터가 원래 메세지의 어느 위치에 있었는지 나타냄 - TTL (8bit) : Time To Live
- 데이터그램이 폐기되기 전까지 활동 기간
- 거쳐야 하는 최대 라우터 수를 나타내는데, 보통 두 호스트 사이의 라우터 수의 두 배로 설정함.
- 라우터를 지날 때마다 1 씩 감소
- 0이 되면 폐기됨.
- 프로토콜 (8 비트)
- 상위계층 프로토콜 식별
- '1' : ICMP
- '6' : TCP
- '17' : UDP
- 상위계층 프로토콜 식별
- 헤더 검사 합(16 비트)
- 헤더만의 검사합
IP 단편화 (Fragmentation)
- IP 데이터그램의 분할
- MTU (Maximum Transfer Unit)
- 네트워크 링크에서 허용하는 프레임당 데이터의 최대 길이
- Ethernet LAN : MTU = 1,500 byte
- CCITT X.25 : MTU = 128 byte
- 네트워크 링크에서 허용하는 프레임당 데이터의 최대 길이
- IP 데이터그램은 전송 중 각 네트워크의 MTU에 적합한 크기로 분할되었다가
목적지 호스트에서 각 fragment들을 재조립함.
인터넷상에서의 라우팅
Routing
- IP 데이터그램이 목적지 호스트까지 진행하면서 경유할 경로를 결정하는 것
- 비교
- IP :
송신자, 수신자 그리고 그 사이의 경로 상에 있는 모든 라우터들이 IP 데이터그램 전달에 관여 - TCP :
송신자와 수신자만 TCP 세그먼트 전달에 관여
- IP :
라우팅 테이블
- 호스트는 자신의 물리적 네트워크에 연결된 라우터에 대한 정보를 자신의 라우팅 테이블에 관리함
동일한 물리적 네트워크에서의 데이터그램 전송
다른 물리적 네트워크에서의 데이터그램 전송
요약
- TCP/IP는 OSI(Open System Interconnection) 모델이 제정되기 전에 개발된 DoD 모델에 기반하여 여러 프로토콜 집합으로 구성.
- TCP/IP 구조의 특징은
연결형(connection-oriented)과 비연결형(connectionless) 서비스 제공, 패킷 교환, 동적 경로 할장, 공톨의 응용 프로그램 제공임. - TCP/IP 프로토콜을 이용한 인터넷에서는 물리(링크)주소, 인터넷(IP) 주소, 포트 주소가 있으며
인터넷 주소는 32비트로 구성되며 클래스 A, B, C, D, E로 나눈다. - IP(Internet Protocol)는 TCP/IP의 인터넷 계층에서 동작하고, 네트워크 계층의 투명성을 제공함으로써
송신자 호스트는 각 데이터그램이 수신자 호스트에 도착하기 위해 경유해야 하는 데이터 링크 및 라우터에 관한 물리적 세부 사항을 알지 못해도 인터넷 상에서 데이터 그램을 전송할 수 있도록 해 준다. - 비연결 서비스는 각각의 패킷을 독립적으로 전송하기 때문에 서로 다른 경로를 통하여 전달될 수 있으므로 신뢰성을 보장할 수 없다.
- 데이터그램(datagram)은 IP 계층의 패킷으로 가변길이를 가지며 헤더와 데이터 부분으로 구성된다.
- IP 단편화는 데이터그램이 송신자로부터 수신자까지의 중간 네트워크를 경유할 대마다 각 중간 네트워크의 MTU에 적합한 세그먼트로 분할되는 것을 말한다.
- 라우팅(routing)은 IP 데이터그램이 목적지 호스트까지 진행하면서 경유할 경로를 결정하는 것으로
전송 계층 프로토콜은 송신자와 수신자 호스트만이 TCP 세그먼트 전달에 관여하는 데 반해,
네트워크 계층 프로토콜은 송신자, 수신자 및 송신자와 수신자 호스트의 경로 상에 있는 모든 라우터들이 IP 데이터그램 전달에 관여함.
출처 : 방송통신대 강의 자료실 정보통신망 강의록
728x90
반응형
'Computer Science > Network' 카테고리의 다른 글
LAN; 근거리 통신망 - II (0) | 2022.06.12 |
---|---|
LAN; 근거리 통신망 - I (0) | 2022.06.12 |
TCP/IP - III (0) | 2022.06.12 |
TCP/IP - II (0) | 2022.06.12 |
OSI 참조 모델 (0) | 2022.05.02 |