[데이터통신] 인터네트워킹
인터네트워킹
근거리 네트워크망 혹은 광역망 간에 상호 접속시키는 제반 기법으로 인터네트워킹의 전체 구성을 인터넷이라고 하며 그 구성 요소를 서브넷이라고 한다
- TCP/IP를 기본 프로토콜로 한다
- X.25 네트워크를 통한 가상 회선, 데이터그램 서비스를 제공
- 로컬 네트워크 상호 간 연결에는 브리지가 사용
- 외부 네트워크와 연결할 경우에는 게이트웨이와 라우터가 필수적
- IP는 여러 개의 패킷 교환망들의 상호 연결을 위한 범용 비연결성 프로토콜
- TCP는 데이터 전송 프로토콜
- HTTP, FTP, Telnet, Mail, IRC가 주요 서비스
- 다른 네트워크 또는 같은 네트워크를 연결하여 그 중추 역할을 하는 네트워크로 보통 인터넷의 주가 되는 기간망을 백본이라고 한다
인터네트워킹의 4계층
- 링크 계층(물리 계층, 데이터 링크 계층)
- 통신망을 액세스할 수 있는 프로토콜로 흐름제어나 에러 제어의 서비스를 제공
- Ethernet, IEEE802, X.25
- 인터넷 계층(네트워크 계층)
- 데이터를 전송하기 위한 절차, 순서 제어 등의 서비스 제공
- IP
- 전송 계층(세션 계층, 전송 계층)
- 호스트들 간의 신뢰성 있는 통신 제공
- 연결 위주의 데이터 프로토콜, 데이터그램 프로토콜, 음성 프로토콜, 실시간 데이터 프로토콜
- TCP
- 응용 계층(표현 계층, 응용 계층)
- 응용 프로그램 간의 데이터 송수신을 제공
- FTP, SMTP, Telnet 등
인터넷 프로토콜 스위트(Internet Protocol Suite)
인터넷에서 컴퓨터들이 서로 정보를 주고받는 데 쓰이는 통신규약 모음이다. 인터넷 프로토콜 슈트 중 TCP와 IP가 가장 많이 쓰이기 때문에 TCP/IP 프로토콜 슈트라고도 불린다
링크 계층
프토토콜 | 기능 |
---|---|
OSPF | - Open Shortest Path First, 최단 경로 우선 프로토콜 - 인터넷 프로토콜 네트워크를 위한 링크 스테이트 라우팅 프로토콜 |
SLIP | - Serial Line Internet Protocol, 직렬 회선 인터넷 프로토콜 - 대부분의 컴퓨터에 내장된 직렬 포트에서 인터넷 등의 TCP/IP 네트워크에 전화선 등 직렬 통신 회선을 통해 일시적으로 접속하기 위한 프로토콜 |
PPP | - Point-to-Point Protocol, 점 대 점 프로토콜 - 두 통신 노드 간의 직접적인 연결을 위해 일반적으로 사용되는 데이터 링크 프로토콜 - 인증, 암호화를 통한 전송 및 데이터 압축 기능 제공 - SLIP, LAPB와 같은 프로토콜에 대한 대안으로 사용 |
MAC | - Media Access Control, 매체 접근 제어 - 자료 전송 프로토콜의 하부 계층이며 OSI 모델에 규정된 데이터 링크 계층의 일부 |
Ethernet | - OSI 모델의 물리 계층에서 신호와 배선, 데이터 링크 계층에서 MAC 패킷과 프로토콜의 형식을 정의 - 현재 가장 널리 사용되고 있으며, 토큰 링, FDDI 등의 다른 표준을 대부분 대체 |
DSL | - Digital Subscriver Line, 디지털 가입자 회선 - 지역 전화망을 통해 디지털 데이터 전송을 제공하는 기술의 계열 |
ISDN | - Integrated Service Digital Network, 광대역 종합 통신망 - 모든 정보를 디지털 신호로 만들어 하나의 네트워크를 통하여 문자, 그림, 음성, 화상, 비디오, 팩시밀리 등과 같은 모든 종류의 서비스를 제공하는 통신망 |
FDDI | - Fiber Distributed Data Interface, 파이버 분산형 데이터 인터페이스 - 근거리 통신망의 데이터 전송을 위한 100Mbit/sec의 광 표준을 제공 |
RARP | - Reverse Address Resolution Protocol, 역순 주소 결정 프로토콜 - IP호스트가 자신의 물리 네트워크 주소(MAC)는 알지만 IP주소를 모르는 경우에 서버로부터 IP주소를 요청하기 위해 사용 |
인터넷 계층
프로토콜 | 기능 |
---|---|
IP | - Internet Protocol, 인터넷 프로토콜 - 송신 호스트와 수신 호스트가 패킷 교환 네트워크에서 정보를 주고받는 데 사용하는 정보 위주의 규약 - 호스트의 주소 지정과 패킷 분할 및 재조립 기능 담당 - 비신뢰성(Unreliability), 비연결성(Connectionlessness) - IPv4, IPv6 |
ARP | - Address Resolution Protocol, 주소 결정 프로토콜 - 네트워크 상에서 IP주소를 물리적 네트워크 주소로 대응시키기 위해 사용되는 프로토콜 |
ICMP | - Internet Control Message Protocol, 인터넷 제어 메시지 프로토콜 - 네트워크 컴퓨터 위에서 돌아가는 운영체제에서 오류메시지를 전송하는 데 주로 사용 |
IGMP | - Internet Group Management Protocol, 인터넷 그룹 관리 프로토콜 - 호스트 컴퓨터와 인접 라우터가 멀티캐스트 그룹 멤버십을 구성하는 데 사용하는 통신 프로토콜 |
IPSec | - Internet Protocol Security - 통신 세션의 각 IP패킷을 암호화하고 인증하는 안전한 인터넷 프로토콜 통신을 위한 인터넷 프로토콜 스위트 |
전송 계층
프로토콜 | 기능 |
---|---|
TCP | - Transmission Control Protocol, 전송 제어 프로토콜 - 네트워크의 정보 전달을 통제하는 프로토콜이자 인터넷을 이루는 핵심 프로토콜 - 연결형, 신뢰성 확보, 복구 기능 제공, 순서 재조정 기능 |
QUIC | - 범용 목적의 전송 계층 통신 프로토콜 - TCP를 사용하는 연결 지향 웹 애플리케이션의 성능을 개선 |
UDP | - User/Universal Datagram Protocol, 사용자 데이터그램 프로토콜 - 인터넷 프로토콜 스위트의 주요 프로토콜 - 주로 DNS, IPTV, VoIP, TFTP, IP터널에서 사용 |
DCCP | - Datagram Congestion Control Protocol, 데이터그램 혼잡 제어 프로토콜 - 메시지 지향적인 전송 계층 통신 프로토콜 |
SCTP | - Stream Control Transmission Protocol, 스트림 제어 전송 프로토콜 - 컴퓨터 네트워킹에서 프로토콜 번호 132를 사용하는 전송 계층 프로토콜 - TCP와 UDP의 동일한 서비스 기능들 가운데 일부를 제공 |
RSVP | - Resource ReSerVation Protocol, 자원 예약 프로토콜 - RFC 2205에 기술된 전송 계층 프로토콜 - 네트워크 상에서 자원을 예약할 수 있도록 디자인된 프로토콜 |
응용 계층
프로토콜 | 기능 |
---|---|
BGP | - Border Gateway Protocol, 경계 경로 프로토콜 - 인터넷에서 자율시스템(AS) 중 라우팅 및 도달 가능성 정보를 교환하기 위해 설계된, 표준화된 외부 게이트웨이 프로토콜의 하나 |
NSP | - Name Service Protocol - DNS가 발표되기 전 사용되던 호스크와 IP 어드레스의 매핑 프로토콜 |
DNS | - Domain Name System, 도메인 네임 시스템 - 호스트의 도메인 이름을 호스트의 네트워크 주소로 바꾸거나 그 반대의 변환을 수행할 수 있도록 하기 위해 개발 |
LLMNR | - Link-Local Multicast Name Resolution - DNS을 기반으로 고완된 프로토콜 - 패킷 포맷 IPv4, IPv6 호스트 상에서 모두 사용 가능 |
Archie | FTP 지원 프로토콜로 전 세계의 FTP Host를 검색하는 프로토콜 |
FTP | - File Transfer Protocol, 파일 전송 프로토콜 - TCP/IP 프로토콜을 가지고 서버와 클라이언트 사이의 파일 전송을 하기 위한 프로토콜 |
TFTP | - Trivial File Transfer Protocol - FTP보다 더 단순한 방식으로 파일을 전송(불안정하다는 단점이 존재) |
SFTP | - SSH/Secure File Transfer Protocol - 신뢰할 수 있는 데이터 스트림을 통해 파일 접근, 파일 전송, 파일 관리를 제공하는 네트워크 프로토콜 |
HTTP | - Hyper Text Transfer Protocol(80 Port) - 인터넷에서 고급화된 파일(텍스트, 그래픽, 사운드, 오디오 등)을 송수신하는 서비스 |
POP3 | - Post Office Protocol - 원격 서버로부터 TCP/IP 연결을 통해 이메일을 가져오는데 사용 |
IMAP | - Internet Message Access Protocol, 인터넷 메시지 접속 프로토콜 - 원격 서버로부터 TCP/IP 연결을 통해 이메일을 가져오는데 사용 - 온라인/오프라인을 지원하므로 POP3와 달리 이메일 메시지를 서버에 남겨 두었다가 나중에 삭제 가능 |
LDAP | - Lightweight Directory Access Protocol, 경량 디렉토리 접근 프로토콜 - TCP/IP위에서 디렉터리 서비스를 조회하고 수정하는 응용 프로토콜 |
MQTT | - Message Queuing Telemetry Transport - ISO 표준 발생-구독 기반의 메시징 프로토콜 |
NNTP | - Network News Transfer Protocol - 뉴스 서버 간에 유즈넷 뉴스 기사를 전송하고 최종 사용자 클라이언트 애플리케이션에 의해 기사를 구독, 게시할 수 있게 하기 위한 애플리케이션 프로토콜 |
NTP | - Network Time Protocol - 패킷 교환, 가변 레이턴시 데이터 네트워크를 통해 컴퓨터 시스템 간 시간 동기화를 위한 네트워크 프로토콜 |
RTP | - Real-Time Transport Protocol - 네트워크상에서 음성이나 영상 또는 시뮬레이션 데이터 등 실시간 전송이 필요한 응용에 대하여 편리한 전송 기능을 제공 |
RTCP | - Real-Time Control Protocol - 세션의 모든 참여자에게 컨트롤 패킷을 주기적으로 전송 - 데이터 전송을 모니터링하고 최소한의 제어와 인증 기능을 제공 - RTP 세션의 대역 외 통계 및 제어 정보를 제공 - RTCP가 직접 미디어 데이터를 전송하지는 않는다 |
RTSP | - Real Time Streaming Protocol - 스트리밍 미디어 서버를 제어할 목적으로 엔터테인먼트, 통신 시스템에 사용하도록 설계된 네트워크 제어 프로토콜 |
RIP | - Routing Information Protocol - UDP/IP 상에서 동작하는 라우팅 프로토콜 |
SIP | - Session Initiation Protocol - IETE에서 정의한 시그널링 프로토콜로 음성과 화상통화같은 멀티미디어 세션을 제어하기 위해 널리 사용 |
SMTP | - Simple Mail Transfer Protocol(25 Port) - 인터넷에서 이메일을 보내기 위해 이용되는 프로토콜 |
SNMP | - Simple Network Management Protocol, 간이 망 관리 프로토콜 - IP 네트워크상의 장치로부터 정보를 수집 및 관리하며, 또한 정보를 수정하여 장치의 동작을 변경하는 데 사용 |
SSH | - Secure SHell, 시큐어 셸 (22 Port) - 네트워크 상의 다른 컴퓨터에 로그인하거나 원격 시스템에서 명령을 실행하고 다른 시스템으로 파일을 복사할 수 있도록 해주는 응용 프로그램 또는 프로토콜 |
Telnet | - 멀리 떨어진 호스트에 원격 접속하여 사용할 수 있는 가상 터미널(VT) 서비스 프로토콜 |
TLS/SSL | - Transport Layer Security/Secure Sockets Layer - 컴퓨터 네트워크에 통신 보안을 제공하기 위해 설계된 암호 규약 - TCP/IP 네트워크를 사용하는 통신에 적용되며 통신 과정에서 전송 계층 종단간 보안과 데이터 무결성을 확보해준다 |
XMPP | - eXtensible Messaging and Presense Protocol - XML에 기반한 메시지 지향 미들웨어용 통신 프로토콜 |
Gopher | - 인터넷을 위해 고안된 문서 검색 프로토콜 |
IRC | - Internet Relay Chat - 인터넷 채팅 서비스 프로토콜 |
DHCP | - Dynamic Host Configuration Protocol - 호스트 IP 구성 관리를 단순화하는 IP 표준 - 네트워크에 연결되어 있는 컴퓨터가 시동될 때 DHCP 서버로부터 IP 주소와 구성 매개 변수를 동적으로 할당받아 자동으로 TCP/IP 설정이 이루어진다 |
프로토콜 구조
TCP Header
- SRC(Source Port) : 송신측의 포트 주소 기록
- DEST(Destination) : 수신측의 포트 주소 기록
- SEQ(Sequence Number) : 전체 데이터의 세그먼트 위치 기록(상위)
- ACK(Acknowledgment) : 전체 데이터 세그먼트 위치를 기록(하위)
- DO(Data Offset) : TCP 헤더 길이 기록
- RES(Reserved) : 확장될 때 사용할 예비 영역
- CF(Control Flags) : 패킷의 종류를 표시하는 플래그
- WINDOW : 수신 가능한 최대 세그먼트 길이를 기록
- CS(Checksum) : 오류를 체크하는 알고리즘 기록
- URGPTR(Urgent Pointer) : 긴급 데이터 포인트 기록
UDP Header (8Byte)
- Source Port Number : 송신 포트번호
- Destination Port Number : 수신 포트번호
- UDP Total length : UDP 헤더와 데이터를 합친 길이
- UDP Checksum : UDP 헤더와 데이터를 모두 포함하여 검사
RTP Header
- Padding(P)
세팅되어 있는 경우는 그 패킷의 끝에 전송하려는 데이터 외에 추가적인 데이터들이 포함되어 있다 - Marker(M)
패킷 스트림에서 프레임 간의 경계에 존재하는 특별한 경우를 표시 - Extension(X)
세팅되어 있는 경우는 RTP 헤더 마지막에 확장 헤더가 있음을 의미 - Payload Type(PT)
데이터가 어떤 형식인지를 지정 - Timestamp
데이터그램에 포함된 데이터의 생성 시기를 나타낸다
RTCP 패킷 유형
- SR(Sender Report) : 세션의 품질에 대한 정보를 포함
- RR(Receiver Report) : 세션의 품질에 대한 정보를 포함
- SDES(Source Description) : 세션에 속한 각 참가자의 ID에 대한 정보를 포함
- BYE(Goodbye) : 세션에서 하나 이상의 소스가 더 이상 활성화 상태가 아님을 나타낸다
- APP(APPlication-defined) : 새 응용 프로그램에서 실험적으로 사용
- RR/SR Header
- 버전
- 패딩 : 1로 설정된 경우, 추가 패딩 옥텟의 개수
- 수신 보고서 개수 : RTCP 패킷에 포함된 수신 블록의 개수
- 패킷 유형 : RR(201), SR(200)
- 길이 : 1을 뺀 32비트 단어에 RTCP 패킷의 길이를 포함
- 식별자 : 패킷의 동기화 소스 식별자를 포함
IP Header
- VER(Version, 4bit)
-
IHL(Internet Header Length, 4bit)
IP 헤더 길이로 보통 24바이트 정도이다. 4비트로 표현된 길이에 4바이트를 곱하면 IP 헤더의 길이 -
TOS(Type Source, 8bit)
IP 서비스 형태로 상위층에 의해 결정 -
TL(Total Length, 16bit)
IP 헤더 길이와 TCP 헤더와 TCP 데이터의 길이를 더한 길이 -
ID(IDentification, 16bit)
참고 정보들이 기록 -
FL(Flags, 3bit)
패킷 분할의 정보로 첫 번째 비트는 사용하지 않고, 2번째 비트가 ‘1’이면 분할 가능, ‘0’이면 분할 불가를 의미하고 3번째 비트가 ‘0’이면 분할된 패킷의 최후 패킷을 의미 -
TTL(Time To Live, 8bit)
패킷을 처리하는 데 필요한 시간으로 데이터그램 패킷의 최대 수명 시간은 255초. 범람 라우팅에서는 Hop Count로 사용하는 블록 -
PROT(PROTocol, 8bit)
IP 계층에서 서비스를 받을 상위 계층의 프로토콜 번호로 TCP 계층의 TCP(6)/UDP(17)을 기입하는 블록 -
HC(Header Checksum, 16bit)
IP헤더의 오류 체크 블록 -
SOURCE(Source address, 32bit)
송신측의 IP 어드레스 -
DEST(DESTination, 32bit)
수신측의 IP 어드레스 - OPT(OPTion)
표준 IP헤더에는 없는 정보를 송신할 때 사용하는 블록
댓글남기기