IP Datagram

 

[ IP Datagram ]

 

<왼쪽 위부터 오른쪽 방향으로 차례대로 보시면 됩니다.>

- TCP 헤더 + IP 헤더 = 20 bytes + 20 bytes = 최소 40 bytes의 헤더크기를 가진다

(세그먼트 헤더와 데이터그램 헤더를 합친 값)

 

- Version : IP 프로토콜 버전 번호 ex) IPv4, IPv6

 

- HLEN : Header Length, 세그먼트의 헤더는 제외한 IP데이터그램의 헤더 길이(크기)

 

- Type of Service : 제공하는 서비스의 코드값으로 라우터로부터 받아야할 서비스를 기재하는데 실제로는 거의 사용하지 않는다.

 

- Total Length : 데이터그램의 전체 바이트 길이로, MTU에 제한을 받으며 최대 216제곱 바이트까지 가질 수 있다.

 

- Identification : 패킷들로 분할하는 단편화와 재조합을 위한 16비트의 식별자

 

- Flags : 6종류의 플래그 비트(URG, PSH, RST, SYN, FIN)가 있으며, 각 플래그 비트는 1비트를 가진다. 대표적으로 연결 설정할 때 필요한 SYN, 연결 끊기에 필요한 RST, 연결 해제에 필요한 FIN이 있다.

 

- Fragment Offset : 단편화와 재조합에 필요한 필드이다.

 

- TTL : Time-To-Live의 약자로, 최대 초기화값은 255이다. TTL은 데이터 전달을 확인하고자 최종 목적지에 도착할 때는 TTL=0의 값을 가져야한다. 하나의 지점을 지나갈 때마다 TTL1씩 감소하며, 최종 목적지가 아닌데 0이 되면 오류발생지로부터 출발지에 오류를 보낸다.

 

- Protocol : (UDP인지 TCP인지) 어느 프로토콜인지 알려주는 코드값이다.

 

- Header Checksum : 헤더에 대한 오류검사를 위한 필드로, 검사합(Checksum)은 전체 데이터그램을 합한 값의 1의 보수값이 저장된다. 수신측에서는 검사합과 실제 데이터그램의 합한 값을 더해보고 숫자 0이 들어갔을 경우 오류로 간주한다.

 

- Source IP Address : 출발지 IP 주소(32비트)가 저장된다.

 

- Destination IP Address : 목적지 IP 주소(32비트)가 저장된다.

 

- IP Options (if any) : 옵션이 없으면 헤더값 20바이트로 고정되지만 있으면 헤더값이 가변적일 수 있으므로 헤더 길이를 기재한다. 방문한 라우터들의 리스트를 명시하거나 타임스탬프를 기록한다. 선택적 필드이므로, 옵션을 제외한 나머지 필드는 무조건 있어야 한다.

 

- Padding : 글자 그대로 여백

 

- Data : TCPUDP 세그먼트가 저장되어 있다.

 

 


 

IP 단편화 (Fragmentation), 재조합 (Reassembly)

 

- 네트워크 링크들은 최대 전송 단위(MTU)를 가지는데, MTUFrame(2계층 데이터 단위)의 최대 크기이다.

 

- 단편화(Fragmentation) : 크기가 큰 IP 데이터그램은 망 내부에서 다수의 작은 데이터그램들로 분할된다. 하나의 데이터그램에 딱 한 번만 가능하다.

 

- 분할된 데이터그램들은 각각 독립된 객체로 취급받으며 개별적으로 캡슐화된다. , 분할된 데이터그램들은 각각 별도의 오버헤드가 생긴다.

 

- 재조합(Reassembly) : 최종 목적지에서 분할된 데이터그램들이 재조합되어 하나의 데이터그램이 된다. 따라서 하나라도 순서가 어긋날 경우 나머지 분할된 데이터그램들은 대기해야 한다.

 

- IP 헤더 필드값(Identification)을 보고 분할된 데이터그램들을 식별하여 재조합한다. , 같은 IP 헤더값을 가진 데이터그램들만 재조합한다.

 

- 목적지에서 재조합을 위한 버퍼가 있는데, 분할된 데이터그램들을 저장해놨다가 하나가 손실될 경우 재조합 타이머(Reassembly timer)Time-Out 나면, 출발지에서 재전송한다.



 

 


IP 주소(Addressing)

 

- IP 주소는 32비트 크기로, 호스트와 라우터 인터페이스에 대한 식별자이다.

 

- 인터페이스(Interface) : 호스트 또는 라우터와 통신 링크 사이의 연결을 의미한다.

 

- 라우터는 일반적으로 다수의 인터페이스를 가진다. 여러 개의 서브넷(Subnet)을 연결하는 중심 매체 역할을 하기 때문이다.

 

- 호스트는 일반적으로 하나 또는 둘의 인터페이스를 가진다.

 

- IP 주소는 각 인터페이스와 연관된다.

 

- 인터넷 네트워킹은 많은 서브넷(부분적인 네트워크)이 모인 전체 네트워킹이다. 같은 서브넷에 속한 인터페이스의 IP 주소는 앞부분이 똑같다. 이 앞부분을 Subnet Prefix라고 한다.

 

- 같은 서브넷끼리는 라우터를 거치지 않는다. 라우터는 서로 다른 서브넷들을 연결하기 때문이다.

 


 

 

사이더(CIDR)

 

- Classless Inter Domain Routing의 약자로, 클래스 없는 도메인 간의 라우팅 기법이다.

 

- 기존의 도메인은 Class A, Class B, Class C, Class D, Class E 로 나누어져 각기 다른 형식을 가진 주소로 이루어져있는데, 클래스 A, B, C까지는 유니캐스트(unicast) 주소이고, 클래스 DE는 멀티캐스트(multicast) 주소이다. IP주소 중 n 비트까지는 network 주소가 들어가고 나머지는 다른 주소가 들어가는 등의 방식으로 주소가 다양하다.

 

- 사이더는 최신의 IP 주소 할당 방법으로 기존의 IP 주소 할당 방식인 네트워크 클래스를 대체한다.

 

- IP 주소의 영역을 여러 네트워크 영역으로 나눌 때 기존방식에 비해 유연성을 더한다. 특히 IPv4 주소가 급격히 부족해지고 있으므로 해당 버전보다 효율적으로 사용하게 해준다.

 

- 접두어(Subnet Prefix)를 이용한 주소 지정 방식을 가지는 계층적 구조(Host IP < Subnet < Internet)를 활용하여 인터넷 광역 라우팅의 부담을 줄여준다. 여기서 사용하는 접두어는 Subnet에 포함되는 호스트 IP들을 대표하는 역할을 한다. 개개의 IP주소들을 포워딩 테이블에 저장하게 되면 탐색시간이 너무 길어진다는 문제점(광역 라우팅)을 해결한다.

 

- CIDR은 IP 주소를 Subnet portion(네트워크 주소) 부분과 Host portion(특정 호스트 주소) 부분으로 나눈다

 

- 표기 방식은 a.b.c.d/x (실제로는 문자가 아닌 숫자) 인데, 여기서 x는 Subnet portion의 비트 수이다.






IP 주소 할당(DHCP)

 

- IP 주소를 할당하는 방식에는 WindowsUNIX에서 두 가지가 있다.

  • 직접 설정하여 고정된 IP 주소를 가지는 방법

  • DHCP를 통해 동적으로 할당받는 방법

- 직접 고정된 IP 주소를 설정할 경우 주소의 비효율적인 사용이 되기 때문에 대부분 동적할당방법을 선택한다.

 

- DHCP : Dynamic Host Configuration Protocol의 약자로, 동적 호스트 구성 프로토콜을 의미한다. 클라이언트가 네트워크 관리자(DHCP 서버)에게 주소가 필요하다는 요청을 보내면 DHCP 서버에서 중앙에 관리하던 IP 주소들 중 하나를 클라이언트에게 동적으로 할당해준다.

 

- DHCP는 사용자들이 자주 바뀌는 환경(학교나 기업 등)에서 유용하다.

 

- 동적으로 할당한다.”는 의미는 사용 가능한 IP주소보다 더 많은 호스트(클라이언트)가 있는 경우에 IP 주소의 할당시간을 짧게 하여 네트워크를 동적으로 재구성할 수 있음을 뜻한다.

 

- 웹서버와 같이 영구적인 IP주소를 필요로 할 경우 정적인 주소를 제공한다.

 

- DHCP를 사용하는 목적

  • 호스트가 네트워크에 접속할 때 서버로부터 IP 주소를 동적으로 획득한다.

  • 네트워크에 연결되었을 때만 주소를 가지므로 연결이 안되어있을 때, 다른 클라이언트가 주소를 재사용할 수 있다.

  • 짧은 시간 동안에 네트워크에 연결되는 모바일 사용자(스마트폰, 태블릿 등)를 지원한다.

- DHCP 동작

  • 호스트는 DHCP 서버 발견(DHCP discover) 메시지를 브로드캐스트(broadcast)방식으로 발송
  • DHCP 서버는 DHCP 제공(DHCP offer) 메시지로 호스트에게 응답
  • 호스트는 DHCP 요청(DHCP request) 메시지로 IP 주소를 서버에 요청
  • DHCP 서버는 DHCP ACK 메시지로 호스트가 사용할 IP 주소를 전송

 

- 브로드캐스트 방식으로 소통하는 이유 : 맨 처음에 서버가 하나 이상일 수 있어서 통신할 서버의 주소를 모르기 때문에 호스트는 목적지 IP주소란에 브로드캐스트 주소를 넣어 메시지(데이터)를 보낸다. 이후, 서버로부터 받은 메시지(데이터)에서 서버의 주소를 알게 된 후 그 주소로 메시지를 보내면 2계층에서 오버헤드(MAC주소추가) 되었을 때 ARP 프로토콜이 처음 소통했던 서버의 주소와 다른 것으로 인지하고 중간에 데이터를 버린다. 브로드캐스트가 아닌 다른 IP 주소의 MAC주소가 2계층에서 추가되므로 서버 발견 메시지를 보냈을 때와 DHCP 요청 메시지를 보낼 때의 목적지 IP주소가 달라지기 때문이다. , 브로드캐스트로 통신을 시작했기 때문에 시작할 때와 다른 주소를 사용하여 데이터를 보내면 데이터는 버려진다.





▶ 인터넷 서비스 제공자(ISP)


- 인터넷 서비스 제공자(Internet Service Provider, ISP)에 의해 계층적으로 IP주소가 관리되어 라우팅 정보를 효율적으로 알린다. 여기서 효율성이란 포워딩 테이블에서 주소를 검색하는 시간을 짧게 하는 것을 의미한다


- 서브넷(Subnet) : 어떤 기관에 소속되어 있지만 분리되어 하나로 인식될 수 있는 네트워크망을 의미한다. 범위는 근거리 통신망 내에 속하는 모든 호스트들이 될 수 있다.



- 포워딩 테이블에서 Entry 수는 서브넷(Subnet)을 대표하는 라우터의 개수인데개개의 호스트들의 IP주소를 엔트리로 하면, 포워딩 테이블에서 주소를 탐색하는 시간이 길어지기 때문에 대표 라우터의 IP주소로 테이블을 구성하여 테이블 크기를 줄여서 탐색시간을 짧게 한다.


- 즉ISP가 계층적으로 주소를 관리하므로, 해당 서브넷에 해당하는 IP주소를 알리면 인터넷(Internet)에 연결되어있을 때 해당 Subnet에 포함되는 IP주소의 호스트와 통신할 수 있게 된다.

 

- ISPSubnet을 알 수 있는 방법은 인터넷 관련 최상위 기관인 국제인터넷주소관리기구(Internet Corporation for Assigned Names and Numbers, ICANN)에 의해 정보를 제공받기 때문이다. ICANN은 인터넷 DNS의 기술적 관리, IP 주소공간 할당, 프로토콜 관리, 루트 서버 시스템 관리 등의 업무를 조정한다.

 

 


 

▶ 네트워크 주소 변환(NAT)

 

- 네트워크 주소 변환(Network Address Translation, NAT)은 수많은 Subnet으로 이루어진 광범위한 네트워크에서 통신하기 위해 사용된다.

 

- Subnet 내부 통신의 경우 : private 제한을 가지는 홈 네트워크 같은 로컬 네트워크에서 데이터를 주고받게 된다. 이 때 라우터를 거치지 않고 자신의 IP주소를 사용한다.

 

- Subnet 외부 통신의 경우 : 자신의 IP와 같은 IP주소가 다른 Subnet에 있을 수 있기 때문에 라우터를 거쳐 갈 때 단 하나의 NAT IP주소로 변환되어 통신을 하게 된다. 당연히 통신을 하는 상대의 IP주소도 NAT IP주소로 변환된 것이다.


[ 라우터를 기준으로 좌 외부 통신(Internet), 우 내부 통신 ]



[ 라우터(NAT)를 기준으로 좌 내부 통신, 우 외부 통신(Internet) ]


- NAT IP주소로 변환되는 과정에서 IP 패킷의 TCP/UDP 포트 숫자와 소스 및 목적지의 IP 주소 등을 재기록하게 되는데, 패킷에 변화가 생기는 것이므로 IPTCP/UDP의 체크섬도 다시 계산된다. 이는 호스트 간의 통신에 복잡성을 증가시키는 것으로 네트워크 성능에 영향을 준다.

 

- 그럼에도 NAT IP주소로 변환하는 이유는 위에서도 언급했듯이 광범위한 네트워크에서 쉽고 빠른 통신을 위해 여러 개의 호스트가 하나의 공인 IP주소를 사용하여 인터넷에 접속하기 위해서이다.

 

- 다시 말해, 복잡성이 증가함에도 공인 IP주소를 사용하는 것은 여러 호스트에서 하나의 IP 주소를 공유함으로서 라우터의 탐색 시간을 줄여 보다 빠르게 통신하기 위해서이다.


- NAT 전의 ISP는 Subnet에 포함되는 IP 주소들(사설 IP)의 시작주소(Subnet Prefix)를 알렸는데, 여기서는 NAT에 의해 변환된 단 하나의 공인 IP주소(NAT IP주소)를 사용함으로서 ISP로부터 호스트별 주소를 할당받지 않고 단 하나의 IP주소만을 할당받는다.

 

- 공인 IP주소는 Subnet 외부의 통신을 위해 할당받는 것이기 때문에 로컬 네트워크에서 호스트의 주소를 바꾸게 되어도 Subnet 외부에는 알려지지 않는다. 그 외 다른 정보도 외부로부터 숨겨질 수 있어서 보안성이 더해진다.

 

- 로컬 네트워크에서는 기기의 주소를 바꾸지 않고, ISP만 바꾸는 것도 가능하다.

 

- NAT은 변환 테이블(Translation Table)을 통해 기존의 IP주소 및 포트번호와 대응되는 NAT IP 주소 및 새로운 포트 번호를 기억한다.

 

- 끝으로, NAT 라우터는 무조건 들어오고, 나가는 데이터그램의 헤더에 저장된 IP 주소, 포트 번호와 대응되는 NAT IP 주소, 새로운 포트 번호로 변환해야한다.







 

용어 설명

 

- Packet(패킷) : 네트워크 계층에서 사용하는 데이터의 형식화된 단위

 

- Host(호스트) : 인터넷에 연결된 컴퓨터

 

- Queue() : FIFO(First-In-First-Out) 방식의 데이터 저장용 버퍼 (출구와 입구가 다름)

 

- Router(라우터) : 서로 다른 네트워크 간의 정보를 주고받기 위해 사용하는 네트워크 통신 장치

 


- Network(통신망) : 통신 시스템들을 통신 회선으로 연결하여 데이터(정보)를 주고받게 하는 시스템

 

 



Packet-Switching (패킷 교환 방식)

 


- Store-and-Forward 방식 : 다음 링크로 전송되기 전에 라우터의 큐(저장용 버퍼)에 패킷을 쌓아놓고 한 번에 전송(Forwarding)하는 방식.

 

- , 큐는 패킷을 수용할 수 있는 범위가 정해져 있기 때문에 패킷의 양이 큐의 범위를 넘어설 경우 해당 패킷은 손실(Loss)되며, 이를 오버플로우(Overflow)가 발생했다고 한다.

 

- 패킷의 헤더에는 출발지(Source)와 목적지(Destination)의 정보(포트 번호, IP주소)가 있어 이 정보들을 통해 라우팅 알고리즘을 이용하여 경로를 설정한다.

 

- 라우팅 알고리즘(Routing Algorithms) : 라우팅 프로토콜이 포함하고 있는 알고리즘으로, routing table에는 패킷의 헤더로부터 읽어낸 목적지 IP주소가 있다. 이 정보를 기반으로 라우터가 패킷을 어떤 목적지로 보낼지 결정한다. , 중간의 라우터(router)들이 표지판 역할을 하며 최종목적지까지 패킷들을 안내한다.

 

- 이 때, 패킷의 헤더에는 라우터를 지날 때마다 목적지 IP주소가 쌓이게 되므로 오버헤드가 점차 커지게 된다.

 

- 전송지연(Transmission-Delay) : L-bit 길이의 패킷을 속도가 R bps인 링크로 보낼 때, 큐에서 링크로 전달되는 시간은 L/R 초이다.

 

- 큐잉 지연(Queueing-Delay) : 라우터마다 큐가 각각 존재하기 때문에 다음 라우터로 이동되기 전에 패킷은 대기하게 된다. , 패킷이 큐에 머무는 시간이다.

  • 링크의 전송 속도(bps) < 큐에 패킷이 도착하는 속도 => 오버플로우 발생
  • 전송 지연 시간 > 큐잉 지연 시간 => 오버플로우 발생

 

- 네트워크 상황에 따라 지나친 혼전 가능성이 있으며, 이를 위한 해결책으로 TCP(전송 제어 프로토콜)가 있다.

 

- source에서 router, router에서 router, router에서 destination , 어떤 노드에서 다음 노드까지를 1hop이라고 표현한다.

 

- 이 방식은 주로 대용량 전송(Bursty Traffic)일 때 이용하며, 데이터가 한꺼번에 전송되므로 데이터가 활동하는 시간이 짧다고도 표현한다. 이러한 패킷 교환 방식은 컴퓨터 통신에서 쓰이는 방식이다.

 

 

Circuit-Switching (회선 교환 방식)

 

[ 보라색 선이 전용 회선이다. ]


- 하나의 전용 회선을 할당받아 데이터를 주고받는 방식

 

- 패킷마다 각각의 전용 회선을 할당해야 하므로 통신을 위해 미리 연결(Set-up)절차를 거쳐야 한다. 셋업 절차는 송신측에서 수신측까지의 경로에 맞는 대역폭(Bandwidth)을 미리 할당받는 과정이다.

 

- 전용 회선은 패킷이 전송되지 않더라도 다른 패킷(데이터)이 끼어들 수 없으므로 속도와 성능이 항상 일정하다.

 

- 주로 실시간이 중요한 전화망에 사용된다.

 

- 회선을 할당하는 방식에는 주파수 분할 다중화(FDM)과 시 분할 다중화(TDM) 방식이 있다.

 

 

Packet-Switching VS Circuit-Switching

 

- 패킷 교환 방식은 네트워크의 상황에 따라 대기시간이 다르므로 패킷의 순서가 보장되지 않는다. 그러나 회선 교환 방식은 정해진 경로를 따라 일정한 속도를 가지기 때문에 데이터의 전송 순서가 어긋나지 않는다.

 

- 패킷 교환 방식은 하나의 라우터가 잘못되어도 전송을 우회할 수 있기 때문에 오류에 강하다. 그러나 회선 교환 방식은 둘 사이에 오류가 생길 경우 데이터 전송이 실패하게 된다.

 

- 패킷 교환 방식은 라우터에 저장해놓는 시간(큐잉 지연)과 전파지연의 시간이 소비되어 전체 전송 시간이 지연된다. 그러나 회선 교환 방식은 미리 연결하는 시간을 제외하고 전파지연의 시간만 소비되므로 전체적으로 빠른 전송속도를 가지게 된다.

 

- 회선 교환 방식은 패킷 교환 방식에 비해 같은 네트워크 용량이라도 이용자 수가 제한되어 있다. 이는 전용 회선을 할당하기 때문이다.

 

1Mbps 짜리 링크에 각각의 사용자가 100kbps로 데이터를 전송한다면 패킷 교환 방식의 경우 10명 이상의 유저가 동시에 링크를 사용할 확률이 낮기 때문에 더 많은 이용자가 링크를 공유할 수 있다. 그러나 회선 교환 방식의 경우 각각의 사용자에게 전용 회선이 할당되기 때문에 최대 10명까지 이용자를 수용할 수 있다.

 

 

Multiplexing (다중화)

 

- 여러 개의 데이터 신호(저수준의 채널)들을 합쳐서 고속신호(고수준의 채널)로 만들어서 하나의 링크로 전송하는 방식이다.

 

- 하나의 링크를 다중화시켜 여러 사용자가 동시에 링크를 사용하게 되므로 링크의 효율성이 높아진다.

 

- 이 때 사용하는 장치를 다중화기(Multiplexer)라고 한다. 만약 다중화기를 사용하지 않으면 단말기(사용자)마다 모뎀(변복조기)이 필요하므로 비용이 많이 들게 되어 비효율적이게 된다.

 


주파수 분할 다중화(Frequency Division Multiplexing, FDM)

 

- 링크의 대역폭(Bandwidth)주파수를 기준으로 분할하여 여러 개의 작은 채널을 할당하는 방식으로 한 전송로를 여러 단말기(사용자)가 이용한다.

 

- 링크의 대역폭이 전송할 신호들의 대역폭보다 클 경우에만 사용가능한 아날로그 기술이다.

 

- 간단한 구조로 모뎀(변복조기)이 필요 없어 비용이 저렴하다.

 

- 송신측 과정 : 각 단말기(Sender)가 비슷한 주파수 영역의 신호를 만들면 다중화기 내부에서 각 주파수를 각각의 다른 반송주파수(Carrier Frequency)로 변조(Modulate)한다. 만들어진 반송주파수들이 모여서 하나의 복합신호(Composite Signal)가 되면 수용 가능한 대역폭을 가진 전송 매체(전송로)를 통해 신호가 전송된다.

 

<Multiplexer - 다중화기>


- 수신측 과정 : 위의 과정에서 만들어진 복합신호는 다중 복구기(Demultiplexer) 내부에서 필터(Filter)를 통해 각각의 반송주파수로 분리되고, 제각각 복조기(Demodulator)를 통해 반송주파수에서 해당 주파수 영역의 신호로 복조(Demodulate)되어 해당 신호만 수신측으로 보내진다.





 

시 분할 다중화(Time Division Multiplexing, TDM)

 

- 링크의 대역폭을 시간 슬롯(Time Slot)으로 나누어 각각 채널을 할당하는 방식으로 다수의 채널이 하나의 링크의 시간을 분할하여 사용하는 방식이다.

- 링크의 높은 대역폭을 여러 채널이 공유할 수 있게하는 디지털 기술이다.

- , 어떤 채널이 사용되지 않을 경우(데이터를 전송하지 않는 경우)에도 시간이 할당되어 있기 때문에 시간 슬롯이 낭비 될 때가 있다. 이를 위한 해결책으로 비동기식 시분할 다중화기법(ATDM)이 있다.

 

- 송신측 과정 : 다중화기(Multiplexer)와 다중 복구기(Demultiplexer)는 각각 스위치의 역할을 한다. 서로 동시에 시스템이 동작되도록 설정(동기화)되어 같은 속도지만 서로 반대방향으로 돈다. 다중화기의 경우 스위치가 채널 앞에서 열리게 되며 그 채널은 링크에 보낼 수 있는 신호를 열린 순간 전송하게 된다. 이 과정을 끼워 넣기(Interleaving)이라고 한다.

 

- 수신측 과정 : 다중 복구기의 경우 스위치가 채널 앞에서 열릴 때, 그 채널은 링크에서 전송된 신호를 수신측으로 전송하게 된다.




 


▶ Multiplexing Summary


- 두 기술 모두 하나의 링크를 나누어 사용하는 점에서 같지만, FDM은 주파수 대역별로

나누어 채널을 할당하는 것이고, TDM은 시간별로 나누어 채널을 할당한다는 점에서 차이가 있다.


 

 

Internet (인터넷) 


물리적 네트워크(network)들을 연결한(inter) 논리적인 네트워크 구조

 

- 통신 규약인 프로토콜이 데이터 메시지를 주고받는 것을 제어한다.

 

- Internet Service Providers(인터넷 서비스 제공자 - ISPs)에 의해 내부적으로 연결된다.

* ISP : 개인이나 기업체에게 인터넷 접속 서비스, 웹사이트 구축 및 웹호스팅 서비스 등을 제공하는 회사를 말한다. 또한 인터넷 접속에 필요한 장비와 통신회선을 갖추고 있다.


 

Protocol (프로토콜)


컴퓨터간에 정보를 주고받을 때의 통신방식에 대한 규칙과 약속

 

- 인터넷의 모든 통신 활동은 프로토콜(통신규약)에 의해 통치된다.

 

- 구성요소 : Syntax(메시지의 형식), Semantics(메시지의 의미), Timing(메시지의 순서)


- 예를 들어, 프랑스인과 한국인이 대화를 할 때 서로 언어가 다르기 때문에 통신을 할 수가 없다. 여기서 '어떤 언어를 사용할 것인가'와 같이 정해진 통신 규약을 '프로토콜'이라고 한다. 즉, 서로 다른 프로토콜을 사용하는 컴퓨터끼리는 통신할 수 없다. 대부분 인터넷에 접속하는 통신 방식은 TCP/IP 프로토콜이다.

 

인터넷 프로토콜 표준화 기구

  • RFC : Request For Comments
  • IETF : Internet Engineering Task Force

 

 

네트워크(Network)의 구조

 

- 인터넷(Internet) : 여러 개의 네트워크를 이루는 큰 네트워크

      1. 하나의 프로토콜만 사용한다.
      2. 웹 브라우저(크롬, 인터넷 익스플로러 등)를 이용해서 접속한다.

- 인트라넷(IntraNet) : 내부의 네트워크로, 사내 업무와 같이 특정 영역에서만 사용되는 네트워크

      1. 회사에서 쓰는 여러 프로그램들을 마치 인터넷을 사용하는 것처럼 쓰도록 만들어 놓은 것이다.
      2. 따라서 회사 직원 이외에는 사용할 수가 없다. 실제로 사내 사이트에 접속할 때도 외부로부터 접속은 차단된다.

- 엑스트라넷(ExtraNet) : 인트라넷처럼 특정 업무를 위해 특정 영역에서만 사용되나, 다른 외부인들도 접속가능한 네트워크


- 전체적으로, 여러 개의 클라이언트와 서버들로 이루어져 있지만 종종 데이터 센터에 서버가 있는 경우도 있다.

 * 이렇게 인터넷에 접속된(연결된) 컴퓨터를 호스트(Host)라고 부른다. 클라이언트와 서버 모두 호스트이다.


- 무선, 유선 통신 링크들과 같은 물리적 매체(UTP 케이블, 광 케이블 등)를 통해 네트워크에 접속한다.

 

- 네트워크의 중심은 상호 연관되는 라우터(Router)들과 수많은 네트워크들이 연결된 거대 네트워크, 인터넷이다. 라우터는 서로 다른 네트워크를 연결하는 물리적 장치이다.


- LAN : Local Area Network 의 약자로,  한정된 지역에서의 네트워크 구축을 의미한다.


- WAN : Wide Area Network 의 약자로, 멀리 떨어진 곳과 연결할 네트워크를 구축하는 것을 의미한다.


- 요즘의 '네트워킹'은 LAN과 WAN을 모두 아우르는 말이다.

 

 

네트워크 접속망

 

- 기관 접속망, 모바일 접속망, 거주지 접속망(ex : LAN), 기업 접속망 등 다양한 접속망(Access Network)이 있다.

 

- Digital Subscriber Line(이하 DSL) : 디지털 가입자 회선으로 중간 오피스 DSLAM에서 기존의 전화망을 이용한다. 데이터는 인터넷으로 이동하고, 음성은 전화망으로 이동한다. 대부분의 인터넷 사용자가 업로드하는 데이터보다 다운로드하는 데이터가 훨씬 크기 때문에 다운로드에 더욱 많은 대역폭과 연결 속도를 제공하겠다는 생각에서 나온 것이다. 업로드 속도보다 다운로드 속도가 월등하게 크다. 업로드 최대 속도 2.5Mbps, 다운로드 최대 속도 24Mbps로 대략 10배정도 차이가 난다.

장점 : 일반 전화선을 사용하면서도 메가(Mbps)급의 데이터 전송속도를 제공할 뿐 아니라 집집마다 광케이블을 설치하지 않고도 비동기전송방식(ATM)망과 맞먹는 네트워크를 구축할 수 있다는 것이다.

 

- Cable Network(케이블망) : 유선 텔레비전 방송망으로 주파수 분할 다중화 방식을 사용한다. 주파수 분할 다중화(FDM)란 통신 링크(전송 매체)를 서로 다른 주파수 대역으로 분할하여 각각의 채널을 할당하는데, 통신 링크로 오는 각각의 데이터들은 해당 주파수 대역의 전송파로 변환되어 전달되어지는 방식이다.

 

- Home Network(홈네트워크) : 유무선 인터넷을 통해 냉장고, 에어컨, 전자레인지, TV 등 주요 가전제품을 제어하고 기기 간 콘텐츠를 공유할 수 있는 기술이다. , 집 안의 가전제품과 정보통신기기간의 데이터를 주고받는 통로를 제공하며, 외부 인터넷 망과의 접속을 제공함으로써 지능적인 통신을 가능하게 하는 네트워킹이다.

 

- Enterprise Access Network (Ethernet) : 이더넷(Ethernet)이란 버스 구조의 근거리 통신망(LAN)에서 사용하는 네트워크 방식이다. 일반적으로 회사, 대학 등에서 사용되는 기업 접속망의 형태이다. 기업 내부의 여러 컴퓨터를 하나의 선으로 통신하고자 하였으나 충돌이 발생하는 문제점을 해결하기 위해 고안된 네트워크이다. 데이터를 보내려는 컴퓨터가 먼저 통신망이 사용 중인지 아닌지 검사한 후에 비어 있을 때 데이터를 보낸다. 통신망이 사용 중이면 일정 시간을 기다린 후 다시 검사한다. 통신망이 사용 중인지는 전기적인 신호로 확인할 수 있다. 쉽게 말해서 근처에 있는 컴퓨터끼리 통신할 때 충돌 없이 순조로운 통신을 하기 위해 만든 방법이다. 10Mbps, 100Mbps, 1Gbps, 10Gbps의 전송속도를 가진다. 이더넷 방식은 CSMA/CD 라는 프로토콜을 사용한다. 

* CSMA/CD : Carrier Sense Multiple Access/Collision Detection

 

- Wireless Access Network (무선 접속망) : 공유되는 무선 접속망이 Base Station을 중심으로 end system(송수신시스템)과 라우터를 연결한다. 근거리 통신망도 있고, 광역 통신망도 있다. 광역 통신망(WAN)은 전화망 사업자(telco)에 의해 제공되며 1~10Mbps의 전송속도를 가진다.

 

 

Host(호스트)에서의 패킷 전송

 

- 보내야할 메시지(정보)L bits의 길이에 해당하는 패킷으로서 더 작게 분할한 뒤, 접속망(통신 링크)으로 해당 패킷을 전송한다. 이 때 링크의 전송속도(Transmission rate)R bps이라고 둔다.

 

- 전송속도(Transmission Rate) : 전송속도는 링크의 수용력(Capacity) 또는 링크의 대역폭(Bandwidth)을 의미하기도 한다. (bits/sec)

 

- 전송 지연(Transmission Delay) : 어느 노드(host, end system..etc)에서 비트(데이터)를 신호로 바꾸어 특정 링크에 전달하는데 걸린 시간

  • L(bit) / R(bits/sec) -> 패킷의 길이 / 링크의 속도
  • , 데이터의 크기에 비례하고, 링크의 수용력 또는 대역폭에 반비례한다.
  • 링크의 속도가 크다는 것은 한 번에 더 많은 데이터를 링크에 담을 수 있으므로 링크로 데이터를 보내는 시간이 짧아진다. 흔히 파이프 용량이 증가했다고 표현한다.

 

- 전파 지연(Propagation Delay) : 송신측(Sender)에서 수신측(Receiver)으로 데이터(신호)가 전파될 때 통신 링크 상에서 걸리는 시간

  • D(km) / V(m/s) -> 노드간의 거리 / 전파속도
  • 이 때, 전파속도는 링크의 매체에 따라 다르다. -> optical fiber(광섬유), copper(구리) ..etc

 

- 처리 지연(Processing Delay) : 노드(host)에서 데이터의 처리(경로설정, 에러 검출 및 정정, 스위칭 등)를 위해 소비하는 시간

 

- 큐잉 지연(Queueing Delay) : 버퍼링 지연이라고도 하며, 패킷이 라우터에 도착하고 다음 목적지로 전송되기까지 큐에서 대기하는 시간.

  • 버퍼(큐 사이즈)의 크기가 클수록 큐잉 지연이 길어지고, 버퍼가 작을수록 버퍼에서의 패킷손실이 커지는 특성을 가진다.
  • 큐에서 패킷이 대기 중인데 버퍼의 한계를 넘을 경우 패킷이 손실되는 것을 오버플로우(Overflow)가 발생했다고 한다.

 

 

물리적 매체

 

- 비트(bit)는 전송자와 수신자 사이에서 전파된다.

 

- 물리적 링크 : 전송자와 수신자 사이를 연결하는 것

 

- 유선(Wired) 통신에서 신호는 구리나 섬유나 동축(coax) 케이블과 같은 견고한 매체를 통해 전달된다.

 

- Twisted Pair(이하 TP) : 두 개의 절연 처리된 구리선이 꼬여서 만들어진 케이블이다. 꼬임이 클수록 외부의 영향을 덜 받으므로 데이터 전송률이 좋다.

 

- Coaxial Cable(동축 케이블) : 두 개의 중심이 같은 구리선 컨덕터들로 만들어 졌으며, 양방향으로 초고속(broadband) 전송용 케이블이다. 케이블에서 다수의 채널을 이용할 수 있다. 따라서 주파수가 높은 경우에 사용하며, 하나의 전송 매체에 여러 개의 데이터 채널을 제공하기 위해서 이용한다.

 

- Fiber Optic Cable(광섬유 케이블) : 유리섬유로 이루어져 있어서 주파수 신호를 빛의 펄스로 변환시켜 수신측으로 전달하고 수신기가 반대로 번역(펄스->주파수)하는 방식으로 데이터를 전달한다. 잡음에 강하고 방해를 덜 받아 낮은 에러율을 가지기 때문에 데이터를 깨끗하게 전송할 수 있다. 점대점 전송에서는 높은 스피드를 가진다.

 

- 무선(Wireless) 통신에서 신호는 라디오와 같은 매체를 통해 자유롭게 전달된다.

 

- Radio(라디오)

  • 전자기 스펙트럼에서 신호가 이동된다.
  • 양방향으로 데이터를 전달하며 무선방식이다.
  • 전파 환경에서는 반사(reflection), 혼선(interference), 굴절(refraction), 산란(scattering), 물체의 방해에 영향을 받는다.
  • 주파수에 따라 특성이 다양하다.
  • 무선 방식은 공유되기 때문에 성능저하 가능성이 높다.
  • Radio Link Type(라디오 링크 유형)에는 지상파, LAN(ex:wifi), WAN(ex:cellular), 위성통신이 있다. 위성통신에서는 위성이 높을수록 범위가 증가한다. 주로 낮은 고도에 대비하여 지구 정지 궤도에 위치한다. 느리게 돌수록 1인 용량이 줄어들고 수명이 길어진다.

  

 

네트워크의 패킷 손실과 지연이 되는 이유

 

- 라우터 내부의 버퍼인 큐에서 패킷이 도착하기 전에 손실되거나 도착했으나 계속 대기 상태가 되기 때문이다.


- 패킷이 큐에 도착하는 속도가 링크의 수용력(링크의 전송속도)보다 빠를 경우, 큐에 패킷이 쌓이게 되고(지연) 꽉 차서 공간이 없어지면 패킷은 손실된다. , 오버플로우(overflow)가 발생한다.


- 손실된 패킷은 이전의 노드로부터 재전송되어질 수 있다. 이로 인해 네트워크의 트래픽이 증가한다.

 

 

패킷 지연의 네 가지 원인

 

- 처리 지연(Processing Delay) : 노드(host)에서 데이터의 처리(경로설정, 에러 검출 및 정정, 스위칭 등)를 위해 소비하는 시간

 

- 큐잉 지연(Queueing Delay) : 버퍼링 지연이라고도 하며, 패킷이 라우터에 도착하고 다음 목적지로 전송되기까지 큐에서 대기하는 시간.

  • 버퍼(큐 사이즈)의 크기가 클수록 큐잉 지연이 길어지고, 버퍼가 작을수록 버퍼에서의 패킷손실이 커지는 특성을 가진다.
  • 라우터의 혼잡한 정도에 영향을 받는다.

 

- 전송 지연(Transmission Delay) : 어느 노드(host, end system..etc)에서 비트(데이터)를 신호로 바꾸어 특정 링크에 전달하는데 걸린 시간

  • L(bit) / R(bits/sec) -> 패킷의 길이 / 링크의 속도
  • , 데이터의 크기에 비례하고, 링크의 수용력 또는 대역폭에 반비례한다.
  • 링크의 속도가 크다는 것은 한 번에 더 많은 데이터를 링크에 담을 수 있으므로 링크로 데이터를 보내는 시간이 짧아진다. 흔히 파이프 용량이 증가했다고 표현한다.


- 전파 지연(Propagation Delay) : 송신측(Sender)에서 수신측(Receiver)으로 데이터(신호)가 전파될 때 통신 링크 상에서 걸리는 시간

  • D(km) / V(m/s) -> 노드간의 거리 / 전파속도
  • 이 때, 전파속도는 링크의 매체에 따라 다르다. -> optical fiber(광섬유), copper(구리) ..etc

 

Throughput (처리율)

 

- 네트워크 통신에서 노드 간의 전달 또는 파이프 간의 전달되는 단위 시간당 데이터 처리량을 의미한다.


- 데이터 링크에서는 송수신 사이에 비트가 이동하는 속도로 보며, 단위는 초당 비트수(bits per second, bps)가 주로 사용된다.


- 앞의 노드나 파이프의 처리율이 뒤의 것보다 작을 경우, 병목 현상이 발생한다. , 고속도로에서 앞의 차가 느리게 가는 사례와 유사한데, 앞의 차가 느리게 가면 뒤의 차들이 속도를 아무리 내도 전체적인 교통 체증이 증가하는 것이다. 쉽게 말해 앞의 파이프의 속도 하나 때문에 전체 네트워크 시스템이 영향을 받는 현상을 말한다.

+ Recent posts