1. Introduction
1) Wide Area Networking
LAN을 통한 컴퓨터 자원의 가용성 확대에 있어서, 보다 더 넓은 지역과 서로 다른 통신 프로토콜을 사용하는 사용자들을 하나의 넓은 네트워크로 형성함으로써 지리적, 기술적 한계를 극복하여 보다 넓은 지역과 다양한 컴퓨터 사용자들을 위한 서비스를 제공합니다.
2) 프로토콜 컨버터
① Protocol Converter
지역 네트워크를 그대로 사용하여 광역 네트워크로의 확장을 도모하기 때문에 각각의 지역 네트워크에서 사용되는 통신 프로토콜의 차이점에 대한 해결과 광대역 네트워크로 데이터를 보내고자 할 때 전송에 대한 추가적인 기술적 지원을 담당합니다.
② 라우터(Router)
서로 다른 네트워크가 상이한 경로배정 방식을 사용할 때 라우터는 그들 사이의 네트워크 프로토콜과 해석을 담당합니다. 이를 위해 라우터는 OSI 7 layer의 하위 3계층에 대한 차이점을 알고 있어야 합니다.
3) 게이트웨이(gateway)
서로 다른 두개의 네트워크가 OSI 7 layer 전체에 대하여 서로 차이가 날 경우 이를 해결하기 위해 두 네트워크 사이의 상이한 통신 프로토콜의 통신 수단을 제공합니다.
2. Network Routing
1) 경로배정
① Routing: 데이터를 전송시 전송된 데이터가 한 지점에서 다음 지점으로 이동할 때 이를 제어하기 위한 지침
② Routing Table: 데이터를 전송시 중간 네트워크 노드가 유지하고 있는 테이블로서 전체 경로를 명시하는 대신 목적지로 가기 위한 노드와 경로 비용을 유지합니다.
목적지 | 다음 노드 | 비용 | 목적지 | 다음 노드 | 비용 | 목적지 | 다음 노드 | 비용 |
B | B | 2 | D | D | 5 | F | F | 2 |
C | C | 1 | E | E | 3 | |||
D | C | 5 | F | E | 5 | |||
E | B | 5 | ||||||
F | B | 7 |
2) 경로 배정의 종류
① 중앙 집중 경로 배정
하나의 중심 지역에서 모든 상호연결정보가 생성 유지되는 것,모든 네트워크 노드들은 중심지역으로부터 정보를 받아 자신의 경로 배정표를 정의합니다.
② 분산 경로 배정
각 노드가 독립적으로 자신의 경로배정 정보를 유지하고 결정, 자신의 이웃 노드에 대한 비용과 특정 노드에 이르는 비용을 계산하는 작업을 차례대로 각 이웃 노드에 대해 수행합니다.
③ 정적 경로 배정
일단 한 노드에서 경로 배정표를 결정하면 얼마의 시간이 지난 후에도 변화시키지 않습니다.
④ 적응적 경로 배정
각 노드가 네트워크에서 발생하는 임의의 변화에 따라 자신이 유지하는 경로 배정표를 변화시킵니다.
3) 경로 배정 방식의 요약
경로배정방식 | 장 점 | 단 점 |
중앙 집중 경로배정 |
경로배정 제어가 한 곳에서 이루어지므로 단순함 |
제어가 이루어지는 곳의 실패 또는 이에 연결되는 링크의 실패는 다른 네트워크 노드들로 정보를 제공하는 데 있어 심각한 영향을 줌 |
분산 경로배정 |
노드 또는 링크의 실패가 정확한 경로배정 정보를 제공하는데 미치는 영향이 적음 | 정보의 교환이 매우 복잡, 원거리 위치에 대한 상태를 전달 받는데 많은 시간 소요 |
적정 경로배정 |
노드에서 반복적인 경로배정 알고리즘을 수행하지 않으므로 단순함 |
네트워크 변화에 민감하지 않음. 적절한 경로를 잘못 판단할 수 있음. |
적응적 경로배정 |
링크 비용과 관련된 가장 최근의 정보를 제공 |
최근의 정보를 유지하기 위해 많은 오버헤드가 요구됨. 상태 변화에 관련된 정보를 전송하기 위해 네트워크 트래픽 부하 증가 |
4) 경로 배정 알고리즘의 종류
Method | Comments |
다익스트라알고리즘 | 중앙 라우팅 기법으로 가장 잘 구현된 순반향 학습 알고리즘, 링크 상태 경로 배정에서 사용된다. |
벨만-포드알고리즘 |
역방향 학습 알고리즘, 노드는 각 이웃노드로부터 임의의 다른 노드로의 최소 비용 경로와 그 경로에 있는 첫 번째 다음 노드의 정보를 안다. 라우팅 테이블을 새롭게 하기 위해 링크 상태의 변화가 필요한 큰 네트워크나 인터넷에서 사용된다. |
링크 상태 경로배정 |
인접링크의 상태정보를 공급하는 링크 상태 패킷을 교환함으로서 노드들이 협력한다. 노드가 받은 모든 패킷을 수집하고 네트워크 토폴로지를 결정한다. 그때 최단 거리 알고리즘을 수행한다. |
계층적 알고리즘 |
전체 노드들을 도메인으로 나누는 방법. 도메인 라우팅 프로토콜은 하나의 도메인 내에서 라우팅이 수행되고 라우터는 도메인간 라우팅을 담당한다. 많은 수의 노드가 필요하고 매번 같은 경로배정 전략이 필요한 네트워크나 인터넷에서 사용한다. |
RIP |
라우팅 프로토콜은 도메인 라우터에 의해 사용되어진다. 주어진 네트워크 도메인으로의 최소 흡수를 찾는다. 지역 네트워크에서 개발되었으며, 인터넷에서 사용된다. |
OSPF |
링크 상태 경로배정과 유사한 내부 경로배정 프로토콜, 수행성과 유동성을 더욱 향상시키는 첨부적 특징이 있다. |
BGP |
특정 정책을 구현할 수 있고, 경로배정이 있는 규약 등을 허락하는 외부 프로토콜, 라우터는 비용과 라우터 안에 첫 링크 대신에 목적지로 실제 라우터를 교환한다. |
5) 폭주
① 정의: 패킷의 급격한 증가로 인해 네트워크 망의 동작상태가 위험에 빠지는 현상
② 폭주의 해결방법
패킷 제거 - 한 노드에서 패킷이 초과 생성되면 이들 중 몇 개를 제거합니다.
흐름 제어 - 흐름 제어를 통해서 두 노드 사이의 패킷 수를 제어합니다.
버퍼 할당 - 가상 채널 사용시 미리 필요한 만큼의 버퍼를 할당합니다. 만약 충분한 버퍼가 없다면 다른 경로를 찾습니다.
쵸크 패킷 - 특정 링크의 이용률이 경고상태에 도달하면 쵸크 패킷을 생성하여 소스 노드에게 전송하고, 소스 노드는 전송하는 패킷의 수를 감소시킵니다.
6) 교착
① 정의: 데이터를 전송하고자 하는 모든 노드가 다른 노드에서 발생할 수 없는 사건을 계속적으로 기다리면서 대기하는 상태
② 자동 전달 교착
③ 재결합 교착
3. Internet Protocol
1) TCP/IP
① TCP - 전송제어 프로토콜(Transmission Control Protocol)
② IP - 인터넷 프로토콜(Internet Protocol)
2) 인터넷 주소
① 인터넷 주소 형식 - User@host.department.institution.domain
② 인터넷 주소 영역에 따른 의미
영역 | 의미 |
com | 상업기관 |
edu | 교육기관 |
int | 국제적기관 |
gov | 정부부처 |
mil | 군사기관 |
net | 네트워크 |
org | 비영리 단체 |
Country code | 예를 들어, jp는 일본 또는 ni는 네덜란드 |
③ 계층에 따른 네트워크
32비트 주소(n은 네트워크 주소를 표시: x는 지역 식별지 표시) | ||||||
계층 | 1바이트 | 2바이트 | 3바이트 | 4바이트 | 가능한 네트워크 번호 |
최대 네트워크 노드의 숫자 |
A계층 | 0nnnnnnn | xxxxxxxx | xxxxxxxx | xxxxxxxx | 27 = 128 | 224=16,777,216 |
B계층 | 10nnnnn | nnnnnnnn | xxxxxxxx | xxxxxxxx | 214 = 16, 384 | 216 = 65, 536 |
C계층 | 110nnnnn | nnnnnnnn | nnnnnnnn | xxxxxxxx | 221= 2, 097, 152 | 28 = 256 |
D계층 | 1110이 28 비트의 다음 주소 다음에 나온다. | |||||
E계층 | 1111: 나중에 사용하기 위해 예약 |
3) IP 패킷
IP 패킷은 프레임 구조와 유사하나 IP 패킷 나름대로의 독특한 특성을 갖추고 있습니다.
버전: IP프로토콜의 version을 나타내며 4비트로 표현 (IPv4,IPv6)
헤더길이: IHL(Internet Header Length)이며 4비트로 표현(단위: 32비트 워드)
서비스 종류: Type of Service를 나타내며 우선순위, 지연, 처리율, 비용에 따른 8비트로 표현된다.
- D(Low Delay), T(High Throughput), R(High Reliability), C(Low Cost) ->4비트
- 우선순위 표시 ->3비트
- 미사용 ->1비트
패킷길이: Total Length를 나타내며, 16비트로 표현. IP데이터그램의 총길이를 말한다.(헤더+데이터, 단위:Octet)
식별자: 16비트로 표현, 하나의 데이터그램을 단편화할 경우의 각 단편에 대한 고유한 식별자
플래그: 3비트로 표현
- DF(Dont't Fragment): 이 데이터그램은 단편화가 허용되지 않음.
- MF(More Fragment): 이 단편 데이터그램 뒤에 연속되는 단편이 있음
- 나머지 1비트: 미사용
프래그먼트 오프셋: 13비트로 표현
- 원 메시지에서의 이 단편 데이터의 위치
- 단위: 8octet
유효시간: Time to Live로 8비트 표현
- 데이터그램이 망 내에서 유효한 시간
- 보통은 데이터그램이 통과할 수 있는 최대 라우터(홉)의 수
- 송신측에서 값을 설정해 주고, 각 라우터에서 1씩 감소시킴, 0이 되면 망에서 제거됨
프로토콜: 상위 계층 프로토콜에 대한 식별자를 제공하는 필드
- OSI:SAP(Service Access Point)
- 예: UDP-17, TCP-6, ICMP-1, EGP-8, OSPF:89
헤더검사: Header checksum으로 헤더에 대한 에러 검사 정보, 헤더에 대해서만 검사, 속도를 고려하여 데이터에 대해서는 에러 검사를 하지 않음.
어드레스, 데이터, 패딩
- SourceIP 어드레스: 32bits
- DestinationIP 어드레스: 32bits
- Data: 가변
- Padding: 가변
옵션: 디버깅, 측정, 보안등의 목적으로 사용, 하나의 데이터그램에 여러 개의 옵션이 사용될 수 있음.
- 옵션의 종류: security, time stamp, loose source route, record route, strict source route
4) 단편화
단편화는 IP 패킷의 길이가 MTU보다 작은 경우를 말합니다. 인터넷은 다양한 환경을 가지는 망으로 서로 연결되어 있기 때문에, 데이타 그램이 목적지로 이동하는 동안 다양한 MTU 크기를 가지는 망을 통과하게 됩니다. 따라서, 데이터에 대한 단편화가 발생하게 됩니다.
단편화에는 전체적 관계를 고려하여 구분할 수 있는 수직 단편화 방법과 수평 단편화 방법의 두가지가 있습니다.
5) IP 경로 배정
라우터의 경로배정표와 IP 주소 해석으로 구성되어 있습니다. IP 데이타 그램의 목적지까지의 경로 배정은 Destination Address 필드에 세팅되어 있는 IP 주소를 통하여서 이루어집니다.
일단 데이타 그램이 보내질 목적지가 LAN 상에 존재하면, 데이타 그램은 곧바로 해당 목적지 호스트로 보내어집니다.
그렇지 않을경우 데이타 그램은 설정되어 있는 default gateway(router) 로 보내어집니다. 이것은 router 의 ip routing table 에 의해서 목적지까지 경유되어 최종 호스트로 도착하게 됩니다.
4. Transport Protocol
1) 트랜스포트 프로토콜
비연결성 혹은 연결성 통신 설정 | |
단말 사용자들 사이의 신뢰성 있는 통신 | |
연결관리 | 연결을 정의하고 설정 -> 핸드쉐이킹 |
흐름제어 | ACK를 받지 않은 상태로 다른 곳으로 전송할 수 있는 정보량이 제한 |
오류검출 | 점대점 전송 오류 검사 |
사용자 요청에 대한 응답 | 전송 데이터와 수신 데이터를 포함 |
2) 전송 제어 프로토콜
연결설정, 유지, 해제를 통해서 핸드쉐이킹을 제공합니다.
종점 시스템 간의 데이타 전송을 담당하는데 통신망 또는 응용 프로토콜의 특징에 따라 적절한 기능을 제공해야 합니다. 현재 사용되고 있는 대표적인 프로토콜로는 TCP/IP의 UDP와 TCP, OSI의 TP 0,1,2,3,4 등이 있습니다. 그림은 TCP 세그먼트에 자료를 싣고 다시 ID 패킷에 TCP 세그먼트를 실어 각각의 사용자간의 자료를 전송할 수 있음을 보여줍니다.
3) TCP 세그먼트
시작포트와 목적지 포트(Source port, destination port): 송신측 응용 프로토콜의 SAP, 수신측 응용 프로토콜의 SAP를 나타냅니다.
일련번호(Sequence number): 전송 데이타 스트림 내에서의 바이트 단위의 현 세그먼트의
위치를 나타낸다.
인식번호(Acknowledgement number): 이 이전 번호(acknowledgement number - 1)까지의 모든
바이트들을 제대로 수신했음을 알린다.
데이터 오프셋(Data offset): 현 세그먼트 내에서의 데이타 위치를 나타낸다.
예약(Reserved): 장래의 추가적인 사용을 위해 예약된 필드이다.
플래그(Flag (U/A/P/R/S/F)) : 다음과 같은 제어 명령들을 나타낸다.
- URG : Urgent pointer field is valid
- ACK : Acknowledgement field is valid
- PSH : This segment requests a push
('push' 서비스란 수신한 세그먼트를 지연시키지 않고 즉시 응용 계층에게 전달하는 것을 말한다.)
- RST : Reset the connection
- SYN : Syncronize sequence numbers
- FIN : Sender has reached end of its byte stream
창(Window): 에러 제어 및 흐름 제어를 위한 window size를 나타낸다.
(8 또는 128이 사용된다.)
체크섬(Checksum): 헤더 및 데이타에 대한 에러 검사용 정보를 제공해 준다.
긴급 지정자(Urgent pointer): Urgent data에 대한 위치를 가리킨다.
('Urgent data'란 단말기로부터의 break 또는 interrupt 신호 등의
긴급히 처리되어야 할 데이타를 말한다.)
옵션과 패딩(Options and Padding): 헤더를 포함한 세그먼트의 최대 크기 등의 옵션들과 32 bit boundary에서 데이타가 시작될 수 있도록 하기 위한 padding field를 제공한다.
데이터(Data): 사용자 정보를 나타낸다.
4) TCP 연결 관리
5) 흐름 제어
신용 메커니즘을 이용해서 흐름제어를 구현합니다.
송수신측 간에 원활한 데이타 통신이 이루어지기 위해서는 에러 제어 외에 두 송수신측 간의 데이타 흐름에 대한 제어가 필요합니다. 데이타 흐름 제어란 송신측의 데이타 전송량이 수신측의 처리 가능한 양을 벗어 나지 않도록 수신측이 송신측을 제어하는 것을 말합니다.
[요약정리]
1. 두 스테이션 사이에 어떻게 패킷을 전송할 것인가를 결정하는 경로 배정 방법에는 다음과 같은 방식이 있다.
① 중앙 집중 방식 : 경로 배정 정보가 중앙의 관리자에 의해 관리된다.
② 분산 방식 : 경로 배정 정보가 노드들 사이에 분산되어 있다.
③ 고정 방식 : 경로 배정 정보가 망의 상태에 영향을 받지 않는다.
④ 적응 방식 : 경로 배정 정보가 망의 상태에 따라 변한다.
2. 경로 배정시 폭주는 노드가 효율적으로 수용할 수 있는 패킷보다 많은 패킷을 수신할 경우 발생 하며, 교착 상태는 노드들 사이의 순환 고리가 존재할 때 발생한다.
3. 패킷을 전송하는 네트워크 노드는 입력된 패킷을 어느 노드로 전송할 것인지를 결정하는 경로 배정표를 유지하는데 이러한 경로 배정표를 구성하는 알고리즘은 다음과 같은 것들이 있다.
① 다익스트라 알고리즘 : 두 노드 사이의 최소 비용 경로를 결정하기 위한 중앙 집중식 알고리즘
② 벨만-포드 알고리즘 : 각 노드가 그 인접 노드들에 대한 도달 가능한 노드에 대한 정보를 교환하는 분산 접근 방식
③ 계층적 경로 배정 : 노드들을 몇 개의 그룹으로 나누어 각 그룹이 자신의 경로 배정 프로토콜을 운영한다.
4. IP는 다양한 형태의 망들을 통해 데이터를 전송할 수 있도록 해 주며, TCP는 주로 연결관리, 흐름 제어, 오류 검출에 관한 기능을 수행한다.
[참고 사이트]
http://www.cisco.com/univercd/home/home.htm 시스코사에서 제공하는 각종 문서자료를 웹상에서 살펴 볼 수 있다.
http://www.protocols.com/index.htm 각종 프로토콜과 관련된 사항을 얻을 수 있다.
'정보과학 > 컴퓨터통신망특론' 카테고리의 다른 글
IMS 아키텍처와 인터페이스(본문) (1) | 2023.11.23 |
---|---|
IMS 아키텍처와 인터페이스(요약) (0) | 2023.11.23 |
근거리 통신망(2) (1) | 2023.11.23 |
근거리 통신망(1) (0) | 2023.11.23 |
통신 프로토콜(2) (0) | 2023.11.22 |