728x90
반응형

인터넷 프로토콜(IP: Internet Protocol)

네트워크 계층에서 TCP/IP 프로토콜이 사용하는 전송 메커니즘

데이터그램 방법을 사용하는 패킷 교환 네트워크를 위해 설계된 비연결형 프로토콜

→ 각 데이터그램이 독립적으로 처리되고 목적지까지 다른 경로를 통하여 전달될 수 있음(일부는 분실/훼손될 수 있음)

→ 상위 계층의 프로토콜에 의존함

 

데이터그램(datagram): 네트워크(인터넷) 계층의 패킷

버전(VER): 4비트 필드는 IP 프로토콜의 버전을 나타냄, 시스템 내에서 수행되고 있는 IP 소프트웨어에게 데이터그램 버전 4임을 알려줌

→ 장래에 버전 6(IPv6)으로 대치될 것

헤더 길이(HLEN): 데이터그램 헤더의 전체 길이를 4바이트 단위로 나타냄(20byte ~ 60byte)
- 선택사항이 없다면 헤더의 길이는 20바이트 → 필드의 값은 5(5 x 4 = 20)
- 선택사항 필드가 최대 길이라면 이 필드의 값 HLEN = 15

서비스 유형: IP 헤더의 초기 설계에서 이 필드는 TOS(Type of Service)라 불림
데이터그램이 어떻게 처리되어야 하는가를 정의
- 처리 내용: 데이터그램의 우선순위(precedence)를 정의, 나머지는 서비스 유형(저지연, 고처리율 등)을 정의

단편화

대부분 프로토콜에서 각 데이터링크 계층은 자신의 프레임 형식을 가지고 있다.

프레임 형식에 정의된 필드 중 하나는 데이터 필드의 최대 크기인 최대 전달 단위(MTU: Maximum Transfer Unit)

데이터그램이 프레임 속에 캡슐화될 때, 데이터그램의 크기는 이 최대 크기보다 작아야 한다.

IP 프로토콜을 물리적 네트워크에 독립적으로 만들기 위해 설계자들은 IP 데이터그램의 최대 길이를 65,535바이트로 결정했다.

 

단편화(fragmentation): MTU가 작은 다른 네트워크에서는 데이터그램을 나누어서 보내야 함

경로 기록 옵션

경로 기록(record route) 옵션: 데이터그램을  처리한 인터넷 라우터들을 기록하기 위해 사용됨

IP 데이터그램의 헤더 최대 길이가 60byte, 이 중 20byte는 기본 헤더 → 최대 9개의 IP 주소까지 기록할 수 있음

검사합

검사합(checksum): 대부분의 TCP/IP 프로토콜에 의해 사용되는 오류 검출 방법

패킷 전달 중 발생할 수 있는 오류로부터 패킷을 보호함

송신자에 의해 검사합이 계산되고 패킷과 함께 전송됨. 수신자는 검사합을 포함하고 있는 전체 패킷에 대해 같은 계산을 반복함

송신자의 검사합 계산

송신자에서 패킷은 n비트 조각으로 나뉘어짐, 보통 n = 16

1의 보수 연산을 사용하여 전부 더해져서 n비트의 결과를 생성한다.

이 결과 값의 0을 1로, 1은 0으로 바꾸는 방법을 사용하여 이 결과에 대한 보수를 구하게 되는데, 이 보수가 검사합이다.

 

데이터 전달과 처리 과정에서 오류가 없다면, 수신자가 모든 조각을 더하고 1의 보수를 구한 결과가 0이 되어야 한다.

- IP 검사합은 헤더만 대상으로 하고 데이터는 포함하지 않음

셀 라우팅하기

ATM 네트워크는 두 개의 라우터 사이에 경로를 생성함, 이 라우터들을 진입점(entering-point) 라우터와 진출점(exiting-point) 라우터라고 부른다.

 

주소

셀을 하나의 특정 진입점 라우터에서 진출점 라우터로 라우팅하기 위해서는 세 개의 주소가 필요함

- IP 주소, 물리 주소, 가상 회선 식별자

 

IP 주소

ATM 네트워크에 연결된 각 라우터는 IP 주소를 갖는다.

IP 주소는 IP 계층에서 라우터를 정의한다. (ATM 네트워크와는 무관)

물리 주소

ATM 네트워크에 연결된 각 라우터는 물리 주소를 가짐, 각 주소는 네트워크에서 유일해야 하고 네트워크 관리자에 의해 정의됨

ATM 네트워크에서의 물리 주소는 LAN에서의 MAC 주소와 동일한 역할을 수행함

가상 회선 식별자

ATM 네트워크 내의 교환기들은 가상 회선 식별자(VPI, VCI)에 근거하여 셀을 라우팅한다.

가상 회선 식별자들은 데이터 전송에 사용된다.

 

Reference

Behrouz A. Forouzan (2009), TCP/IP 프로토콜(Protoccol Suite), 4th Edition

 

728x90
728x90
728x90
반응형

[TCP/IP Protocol #5] Part 2 | Chapter 5. IPv4 주소 생략

포워딩

: 다음 홉으로 패킷을 전달하는 것

* 홉: 컴퓨터 네트워크에서 출발지와 목적지 사이에 위치한 경로의 한 부분

 

IP 프로토콜은 비연결형 프로토콜로 설계되었으나, 오늘날 IP는 연결 지향 프로토콜로 사용되는 경향

목적지 주소 기반 포워딩

호스트가 송신할 패킷을 가지고 있거나 라우터가 포워드해야 하는 패킷을 수신한 경우 라우팅 테이블을 참조하여 최종 목적지까지의 경로를 찾음

라우팅 테이블이 너무 커져서 라우팅 테이블 내에서의 검색이 비효율적이게 되므로 적절하지 못함

라우팅 테이블 단순화 방법(라우팅의 크기를 작게 만드는 기술)

1) 다음 홉 방법: (next-hop method) 전체 경로에 대한 정보X, 다음 홉의 주소만 저장

2) 네트워크 지정 방법: (nework-specific method) 호스트 별 엔트리 정보X, 네트워크 자신의 주소를 정의하는 엔트리 하나만 가짐

같은 네트워크에 연결된 모든 호스트들은 하나의 엔티티로 취급됨

라우터의 구조

입력 포트(input port), 출력 포트(output port), 라우팅 처리기(routing processor), 교환 조직(switching fabric)

입력 포트

물리・데이터링크 계층의 기능 수행

수신된 신호로 비트 만들어지고, 프레임으로부터 패킷이 역캡슐화됨

교환 조직에 보내기 전에 패킷을 저장할 수 있는 버퍼(큐)도 보유

출력 포트

입력 포트와 같은 기능을 수행하나, 수행 순서가 반대

출력되는 패킷이 큐에 저장, 패킷이 프레임에 캡슐화된 후 프레임이 라인 상으로 보낼 신호로 변환됨

* 캡슐화: 클래스 안에 서로 연관있는 속성과 기능들을 하나의 캡슐(capsule)로 만들어 데이터를 외부로부터 보호하는 것

라우팅 처리기

네트워크 계층의 기능을 수행

목적지 주소를 사용해서 다음 홉 주소를 찾고 패킷이 전송될 출력 포트 번호도 전송함

테이블 탐색(table lookup)이라고도 부름 - 라우팅 처리기가 라우팅 테이블을 탐색하는 과정과 유사

새로운 라우터에서는 라우팅 처리 과정 효율을 위해 라우팅 처리기 기능이 입력 포트로 옮겨지고 있음

교환 조직

라우터에서 가장 복잡한 일: 패킷을 입력 큐에서 출력 큐로 이동시키는 것

이 작업이 수행되는 속도는 입력/출력 큐의 크기 뿐 아니라 패킷 전달에서의 전체 지연 시간에 많은 영향을 미침

입력 포트: 패킷을 메모리에 저장

출력 포트: 패킷을 메모리에서 가져옴

 

Reference

Behrouz A. Forouzan (2009), TCP/IP 프로토콜(Protoccol Suite), 4th Edition

 

728x90
728x90
728x90
반응형

지국(Station): IEEE 802.11에 호환되는 MAC과 물리 계층(Physical Layer)을 가진 디바이스

 

오류 제어

error control, 훼손되거나 손실되거나 중복된 데이터그램을 탐지하는 메커니즘을 포함

네트워크 계층은 진정한 오류 제어 메커니즘을 제공하지는 않음

 

데이터링크 계층에서 LAN과 WAN을 포함하는 이 네트워크 행위를 제어함

 

Q. 홉대홉(Hop-to-hop) 오류 제어가 이미 데이터링크 계층에 구현되어 있다면 왜 네트워크 계층에서 오류 제어를 필요로 할 것인가?

A. 데이터그램이 라우터에 의해 처리되는 동안 오류가 발생하면 데이터링크 계층은 이를 탐지하지 못함
(데이터그램을 어느 정도 보호하지만 완전한 보호를 하지 못함)

 

Q. 네트워크 계층에서 오류검사를 하지않는 이유

A. 단편화

데이터가 중간의 라우터에서 단편화될 수 있음, 단편화로 인해 네트워크 계층이 변경될 수 있음

→ 오류 제어를 한다면 각 라우터에서 검사되어야 함
→ 네트워크 계층에서의 오류 검사를 매우 비효율적으로 만듦

 

네트워크 계층이 직접 오류 제어는 제공하지 않지만, 인터넷은 ICMP 프로토콜을 사용하여 데이터그램이 폐기되거나 헤더 내의 알려지지 않은 정보가 포함되는 경우 이에 대해 오류 제어를 할 수 있는 메커니즘을 제공함

흐름 제어

flow control, 수신자의 수신 능력을 초과하지 않도록 발신지에서의 데이터 전송 양을 조절

발신지 컴퓨터의 상위계층이 목적지 컴퓨터가 소비할 수 있는 속도보다 빨리 데이터를 생성한다면 수신자에서는 데이터가 수신 능력 이상으로 넘치게 됨

네트워크 계층에서 흐름 제어를 제공하지 않는다. 그 이유는?

1) 네트워크 계층에는 오류 제어가 없어서 수신자의 네트워크 계층의 임무는 간단하고 수신자에서 데이터가 넘칠 일은 거의 없음

2) 네트워크 계층의 서비스를 사용하는 상위계층은 네트워크 계층에서 오는 데이터를 들어오는 즉시 수신한다. 수신되는 속도대로 데이터를 소비할 필요는 없도록 버퍼를 구현한다.

3) 다른 계층에서 흐름 제어를 제공하면 네트워크 계층은 더 복잡해지고 전체 시스템도 느려짐 (∵ 대부분의 상위 계층에서 흐름 제어 제공)

혼잡 제어

congestion control, 인터넷 내부에 데이터그램이 너무 많이 존재하는 상황

데이터그램의 수가 네트워크나 라우터의 용량을 넘어서는 경우

비연결형 네트워크에서의 혼잡 제어

시그널링(signaling)

후방 시그널링(backward signaling): 혼잡 발생 반대 방향으로 움직이는 데이터그램 내 한 비트를 1로 하여 송신자에게 혼잡이 발생했음을 알림, 송신자 패킷 전송 속도를 낮춤

전방 시그널링(forward signaling): 메커니즘을 사용하여 혼잡의 방향과 같은 방향으로 전달되는 패킷 내의 한 비트를 1로 설정, 수신자에게 혼잡 경고

수신자는 상위 계층 프로토콜에 알리고, 이 상위 계층은 발신지에 알림

연결 지향 네트워크에서의 혼잡 제어

1) 추가 가상 회선 생성 - 다른 라우터에 더 심각한 문제를 야기할 수 있음

2) 설정 과정에서의 진보된 협상(advanced negotiation)

 

Reference

Behrouz A. Forouzan (2009), TCP/IP 프로토콜(Protoccol Suite), 4th Edition

 

728x90
728x90
728x90
반응형

인터넷: 국제, 국가 그리고 지역 ISP 업체들에 의해 제공되는 백본(backbone) 네트워크의 집합

TCP/IP 프로토콜은 다섯 계층 스택

IEEE 표준

1985년 IEEE의 컴퓨터 공동체는 상호 통신이 가능하게 하는 표준을 제정하기 위해 프로젝트 802라는 프로젝트를 시작했다.

LAN 프로토콜인 물리계층과 데이터링크 층의 기능을 규정했다.

IEEE는 데이터링크 층을 LLC(Logical Link Control, 논리 링크 제어)와 MAC(Medium Access Control, 매체 접근 제어)라는 2개의 부계층으로 나누었다.

서로 다른 LAN 프로토콜에 대해  여러 개의 물리층 표준을 제정했다.

프레임 형식

프레임(frame): 이더넷 LAN에서 보내지는 패킷

이더넷 프레임의 구성(7개 필드): 서문(preamble), SFD, DA, SA, 데이터 단위의 길이 또는 유형, 상위 계층 데이터, CRC

이더넷 발전

이더넷(Ethernet): 1976년 제록스사의 Palo Alto 연구센터에서 만들어짐

4세대를 거쳐옴: 표준 이더넷(10Mbps), 고속 이더넷(100Mbps), 기가 비트 이더넷(1Gbps), 10기가비트 이더넷(10Gbps)

 

ATM

비동기 전송 방식(ATM: Asynchronous Transfer Mode), ATM 포럼에서 설계하고 ITU-T에 의해 채택된 셀 중계(cell relay) 프로토콜

ATM은 셀 네트워크(cell network)이다.

- 셀(Cell): 셀 네트워크에서 교환되는 기본적인 데이터 단위가 되는 고정된 크기의 작은 데이터 단위

셀은 다른 셀과 다중화되고 셀 네트워크를 통해 경로를 따라 전달됨

각 셀이 동일한 크기이고 모든 셀이 작음 → 서로 다른 크기의 패킷을 다중화하는 데 필요한 여러 문제를 해결 가능

- 셀 네트워크는 데이터 교환 기본 단위로 셀을 사용, 셀은 작고 고정된 크기의 정보 블록임

비동기 TDM

ATM은 서로 다른 채널로부터 들어오는 셀을 다중화하기 위해 비동기 시간 분할 다중화(Asynchronous Time-Division Multiplexing)를 이용함

ATM 다중화기는 셀을 가지는 입력채널에서 셀이 가지고 있는 슬롯을 채움

 

Reference

Behrouz A. Forouzan (2009), TCP/IP 프로토콜(Protoccol Suite), 4th Edition

 

728x90
728x90
728x90
반응형

백본: 여러 소형 네트워크를 묶어 대규모 파이프라인을 통해 극도로 높은 대역폭으로 다른 네트워크들의 집합과 연결되는 네트워크

월드 와이드 웹: CERN에 있는 Tim Berners-Lee에 의해 개발됨

 

RFC(Request For Comment): 인터넷 드래프트로 시작되어 인터넷 표준 상태에 따라 완성되는 처리 절차, 6개월 정도의 유효기간을 갖는 작업 문서

 

네트워크: 통신 장치들이 연결된 그룹

인터넷: 서로 통신할 수 있는 둘 또는 그 이상의 네트워크들

 

프로토콜은 두 개의 개체가 통신하고자 할 때 요구된다. 통신이 간단하지 않을 때, 통신의 복잡한 임무를 여러 개의 계층 구조로 나눌 수 있다.

ISO 표준은 OSI 모델이다. OSI 모델은 1970년 후반에 처음 소개되었다. ISO는 기구이고 OSI는 모델이다.
국제표준기구(ISO)는 서로 다른 시스템간의 통신을 허용하기 위해, 개방형 시스템 상호연결(OSI)이라는 모델을 만들었다.

 

네트워크 계층: 정확한 컴퓨터에 각 패킷을 갖게 함

전송 계층: 컴퓨터상의 정확한 프로세스에게 전체 메시지를 갖게 함

 

TCP/IP 프로토콜이 OSI 모델보다 먼저 개발됨

물리 계층

두 노드 간 연결이 설정되면, 비트 스트림이 연결을 따라 흘러가게 된다. 하지만 물리 계층은 각 비트(bit)를 개별적으로 처리한다.
두 대의 컴퓨터 간에 서로 라우터를 통해 통신하기 위한 가장 효율적인 방법을 알게 된다.
만약 노드가 n개의 링크에 연결되어 있다면 각 링크 당 하나씩 n개의 물리 계층 프로토콜이 필요하다.

데이터링크 계층

프레임이 라우터에 의해 수신될 때, 데이터링크 프로토콜로 프레임(frame)을 전달한다.

네트워크 계층

TCP/IP는 인터넷 프로토콜(IP)을 지원한다.

개별적으로 전송되는 데이터그램(datagram)이라는 패킷에 데이터를 전달한다.

 

네트워크 계층: 종단 대 종단 / 데이터링크 및 물리 계층: 노드 대 노드

전송 계층

(통신 단위: 계층에서 사용되는 프로토콜에 따라 세그먼트, 사용자 데이터그램, 패킷)

모든 노드들이 네트워크 계층을 갖는 것이 필요하지만 두 컴퓨터만 전송 계층을 가질 필요가 있다.

전송 계층은 컴퓨터 A에서 컴퓨터 B까지 사용자 데이터그램, 패킷, 세그먼트라는 전체 메시지를 전달하는 책임이 있다.

TCP/IP 프로토콜에서 두 개의 프로토콜에 의해 표현되는데, UDP(User Datagram Protocol), TCP(Transmission Control Protocol)

SCTP(Stream Control Transmission Protocol)라는 새로운 프로토콜이 최근 몇 년 전 발표되었다.

응용 계층

전송 계층처럼 종단 대 종단, 통신 단위: 메시지

컴퓨터 A에서 생성된 메시지는 전송 도중 변경 없이 컴퓨터 B에 보내진다.

 

세션 계층: 확인점

표현 계층: 암호화

 

Reference

Behrouz A. Forouzan (2009), TCP/IP 프로토콜(Protoccol Suite), 4th Edition

 

728x90
728x90
728x90
반응형

 

네트워크(Network): 컴퓨터나 프린터와 같은 통신 장치들을 서로 연결한 그룹

인터넷(internet): 서로 통신할 수 있는 둘 또는 그 이상의 네트워크

 

ARPANET

1960년대 중반 연구기관들의 대형 컴퓨터들은 독립 실행형 장비였다. 제조업자가 서로 다른 컴퓨터와는 통신을 할 수 없었다.

이에 미 국방성(DOD: Department of Defense)의 ARPA(Advanced Research Project Agency)는 컴퓨터를 서로 연결하는 방법을 연구하는데 관심을 가짐

 

1967년 ACM(Association for Computing Machinery) 모임에서 ARPANET에 대한 아이디어로, IMP(Interface Message Processor)라는 특정 컴퓨터에 연결하는 것

* IMP: 접속 신호 처리 장치, 1960년대 후반부터 1989년까지 네트워크를 ARPANET에 상호 연결하는 데 사용된 패킷 교환 노드, 오늘날 라우터로 알려진 1세대 게이트웨이

- 연결된 호스트뿐만 아니라 다른 IMP와 통신할 수 있는 기능을 가짐

 

인터넷의 탄생

1972년 ARPANET 그룹의 핵심멤버인 Vint Cerf와 Bob Kahn은 게이트웨이(gateway) 장비 고안

* 게이트웨이: 하나의 네트워크로부터 다른 네트워크로 패킷을 전송하는 중계 하드웨어 역할

 

TCP/IP

종단-대-종단 패킷 전달을 위한 프로토콜을 제안

TCP 캡슐화, 게이트웨이 기능, 데이터그램

오류 교정 임무를 IMP에서 호스트 머신으로 옮기는 것이 가장 급진적인 아이디어

 

1977년 10월, 3개의 서로 다른 네트워크(ARPANET, 패킷 라디오, 패킷 위성)로 구성된 인터넷이 성공적으로 시연되었다. 이때부터 네트워크 간 통신이 가능하게 되었다.

TCP를 2개의 프로토콜인 TCP(Transmission Control Protocol)와 IP(Internetworking Protocol)로 나누기로 결정했다.

- TCP는 세그먼트, 재조립, 오류 검출 등과 같은 상위 수준의 기능에 대한 책임을 맡음

- IP는 데이터그램 라우팅을 처리하도록 함

 

1973년 ARPANET 프로토콜 폐지, TCP/IP가 ARPANET에 대한 공식 프로토콜이 되었다.

다른 네트워크상에 있는 컴퓨터에 접속하기 위하여 인터넷을 사용하는 사람은 반드시 TCP/IP를 실행시켜야 했다.

 

MILNET

1983년 ARPANET은 군사용을 위한 MILNET과 군사용이 아닌 ARPANET 두 네트워크로 나뉘어짐

 

CSNET

인터넷 역사의 또 하나의 이정표, 1981년 탄생한 CSNET

CSNET은 미국 국립 과학재단(NSF: National Science Foundation)에 의해 지원된 네트워크

DARPA에 동참하지 않아서 ARPANET에 접속할 수 없는 대학들에 의해 제안됨

* DARPA: ARPANET 개발

 

1980년대 중반 대부분의 전산학과가 있는 미국 대학들은 CSNET에 속해 있었음

상호 연결을 위해 TCP/IP 사용

인터넷(Internet): 정부 지원으로 연결된 네트워크 → 현재는 TCP/IP 프로토콜을 사용하여 연결된 네트워크를 의미

 

NSFNET

슈퍼컴퓨터를 T1 라인으로 연결하는 백본(backbone)으로 미국 전역에 대한 연결을 제공함

1990년 ARPANET은 공식적으로 없어지고 NSFNET으로 대체됨

1995년 NSFNET은 연구용 네트워크로 변경됨

 

ANSNET

1991년 인터넷 트래픽의 급격한 증가로 NSFNET 지원할 수 없다고 판단함

3개 회사(IBM, Merit, MCI사)는 ANSNET이라는 새로운 고속 인터넷 백본을 구축하기 위해 ANS(Advanced Network and Service)라는 비영리 기관을 구성하여 부족한 부분을 보충함

 

Reference

Behrouz A. Forouzan (2009), TCP/IP 프로토콜(Protoccol Suite), 4th Edition

 

728x90
728x90

+ Recent posts