TCP/IP
이번 첫 연재의 내용은 TCP/IP에 대해 알아보는 것이다.
컴퓨터 통신에 관심이 있는 사람이라면 매우 자주 들어보았을 단어이다.
이번 기회에 확실히 알고 넘어 가도록 하자.
TCP/IP, OSI 7 계층은 컴퓨터 네트워크에 대해 조금이라도 관심을 가지고 있
는 사람이라면 아마도 한번쯤 들어본 단어일 것이다. OSI 7계층이
ISO(International Standard Organization)에 의해 만들어진 것이고 TCP/IP는
유닉스에서 쓰이는 현재 인터넷의 네트워크 프로토콜이라는 사실도 알 사람은
이미 다 아는 사실이다.
자 그럼 여기서 쉬운 퀴즈를 하나 내겠다. OSI와 TCP/IP 중 어느 것이 먼저
생겼을까? 정답은 TCP/IP이다. 흔히 표준이란 것이 시장의 지배적인 회사나
단체의 상품이 나오게 되면 그때서 그것을 표준으로 하는 경우가 대부분이고
OSI의 경우도 마찬가지이다. 최초 미국 대학사이의 정보 교환을 목적으로 한
ARPANET에서 ARPA 인터넷으로 발전하여 전세계적으로 그 프로토콜인
TCP/IP가 쓰이게 되자 ISO에서 이를 기반으로 좀 더 세분화하여 만든 것이
OSI 7계층인 것이다. TCP/IP는 4계층인 반면 OSI는 7계층인 이유가 여기 있
는 것이다.
이제 유닉스의 최대 장점이자 아직도 다른 시스템에서 넘보지 못하는 아성을
구축하고 있는 유닉스 네트워크의 세계로 들어가 보기로 하자. 아래의 그림은
TCP/IP와 관련된 유닉스의 프로토콜과 그 응용을 보인 것이다. 전체의 파악을
위해 항상 염두해 두기 바란다.
컴퓨터 네트워크 용어
네트워크 분야에서 용어의 정립은 매우 중요하다. 이제부터 설명하는 용어는
앞으로의 글을 이해하는데 가장 필수적이므로 확실히 이해하고 지나가기 바란
다.
1. 네트워크
약간씩 차이는 있을 수 있으나 독립된 컴퓨터들이 상호 연결된 컴퓨터들의 집
합을 의미하는 것으로 생각하면 될 것이다. 단 여기서 마스터, 슬래이브 관계의
컴퓨터 연결은 제외한다.
분산 시스템과의 차이는 분산 시스템이 모든 사용자에게 시스템 자체가 하나인
것처럼 보이게 하는 즉, 자동으로 일을 분산 처리하는 반면 네트워크에서는 사
용자가 작업을 명시적으로 각 기계에 지정하여 수행한다는 것이다. 분산 시스
템은 매우 특별한 소프트웨어를 가진 특별한 형태의 네트워크인 것이다. 여기
서 특별한 소프트웨어란 스스로 일을 처리하여 사용자에게는 여러 컴퓨터가 마
치 하나인 것처럼 보이게 하는 기능을 가진 소프트웨어를 일컫는다.
2. 인터넷(인터넷워크)
요즘 매우 흔히 들을 수 있는 단어이다. 그러나 이 말의 정확한 의미를 아는
사람은 그리 많지 않을 것이다. 인터넷이란 서로 다른 네트워크에 있는 컴퓨터
사이의 통신을 위한 두개 이상의 서로 다른 네트워크 연결을 의미한다.
인터넷의 목적은 물리적으로 다른 네트워크의 성질을 감추고 하나의 잘 구성된
단위 네트워크처럼 동작하도록 하는데 있다.
두개의 서로 다른 물리적 네트워크를 연결하는 한 방법은 두 네트워크를 붙이
는 게이트웨이를 사용하는 것이다. 때때로 라우터(router)라고도 한다.
3. 메시지, 프레임, 패킷
메시지란 의미를 지니는 데이터의 단위인 반면 다른 것들은 의미를 지니지 않
는다.
프레임은 저 수준의 네트워크 하드웨어를 언급할 때 쓰이는 패킷의 다른 명칭
이며 패킷은 각각 헤더와 데이터로 구성되어 네트워크에서 전송되는 데이터 형
태이다.
4. 게이트웨이, repeater, bridge
3개 모두 두 네트워크를 연결하는데 쓰이는 것들이지만 다른 점은 연결이 되는
위치이다.
repeater는 물리 층에서 단순히 전기적 신호를 복사하며 bridge는 데이터 링크
층에서 프레임을 다른 네트워크로 복사한다. 그리고 라우터는 네트워크 층에서
경로를 설정하여 패킷을 전송한다.
게이트웨이는 2개 이상의 네트워크를 상호 연결하는데 쓰이는 개체를 지칭하는
포괄적 용어이다.
참고:TCP/IP에서의 게이트웨이는 네트워크 층의 라우터를 지칭한다.
때때로 게이트웨이란 용어는 네트워크층 위의 각 층에서의 특정 대화를 수행
하는 소프트웨어를 나타내기도 한다. 그 예로 메일 게이트웨이는 전자 메일을
다른 형태로 변경한다.
repeater는 보통 하드웨어 장치이며 bridge와 라우터는 하드웨어 혹은 소프트웨
어로 구현될 수 있다. 라우터(게이트웨이)는 보통 위의 기능을 수행하는 전용
기계이다.
호스트가 하나 이상의 네트워크 인터페이스를 가지는 경우 multihomed 되었다
고 한다.
5. Fragmentation과 Reassembly
대부분의 네트워크 층은 데이터 링크 층의 특성에 따라 그들이 다룰 수 있는
최대 패킷 크기를 가진다. 이것이 MT U(Maximum Transmission Unit) 인데
간혹 전체적인 의미로도 사용된다.
이서네트의 경우 최대 1500바이트를 넘지 못하며 토큰 링의 경우는 4464바이트
를 넘지 못한다.
이러한 MTU로 인해 혹은 그 외의 이유로 생긴 것이 Fra gmentation인데
Fragmentation이란 데이터 스트림을 더 작은 조각으로 나누는 것이다. 어떤 네
트워크에서는 Segmen tation이란 단어를 쓰기도 한다. fragmentation의 역은
reas sembly이다. TCP/IP의 경우 IP층에서 이루어진다.
6. 라우팅(routing)
통신 네트워크는 2개의 기본 형태를 가진다.
(1) circuit-switched : 공중전화 시스템이 그 대표적 예로 일단
연결이 설정된 후에 비로소 통신하는 방식이다.
(2) packet-switched : 인터넷이 한 예이다. 전송할 정보들을 작
은 조각(패킷)으로 나누어 통신 선로를 서로 공유하며 보내는 방
식이다.
패킷이 갈 수 있는 각각의 길을 route라고 한다.
이 경로 결정은 네트워크 층에서 이루어지는데 실제 패킷이 전달되는 시간은
여러 상황에 따라 시시각각 변하므로 예측하기 매우 힘들다.
7. Mutiplexing과 Demultiproxing
multiplexing이란 여러 개를 하나로 연결하는 것을 의미한다. 네트워크 층에서
는 여러 개를 하나로 연결하는 것을 의미하는데 네트워크 층에서는 하나 이상
의 사용자 프로세스가 동시에 여러 규약을 사용 할 수 있는것인데 주어진 규약
이 데이터를 IP층에서 내려보낼 때 보내는 프로세스가 어느 규약에서 나온 것
인지를 알리는 것이다. 예를 들면 어떤 한 사용자 프로세스가 TCP와 UDP 프
로토콜을 모두 사용하는 경우가 될 것이다. 반대로 UDP가 IP층에서 데이터를
받는 경우 데이터를 규약을 통해 받아야 할 프로세스에게 알리는 것이
Demultiplexing(하나에서 여러 개로)이다. 이것을 위해 UDP/TCP는 사용자 프
로세스를 구분하기 위해 포트 번호를 가진다.
8. 포트(Port)
IP 주소는 하나의 시스템을 구분하고 포트는 특정 서비스나 프로세스를 구분한
다(TCP/UDP). 포트는 특정 메일박스 프로토콜을 지정하는 IP 주소를 보조하
는 2바이트 숫자이다.
9. Broadcast, Mutilcast
unicast 메시지는 특정 호스트로 데이터를 전송할 때 쓰이는 메시지이며
broadcast 메시지는 네트워크의 모든 호스트로 데이터를 보낸다. 그리고
multicast 메시지는 네트워크의 특정 그룹의 호스트로 데이터를 보낸다.
broadcast의 경우 다른 네트워크로 forwarding이 되지 않는다. 또한 이서네트
의 경우 broadcast일 때 특정 주소 비트가 1로 세트된다.
10. nesting(encapsulation)
각 프로토콜의 패킷이 다음 프로토콜에 의해 발생되는 패킷의 데이터 부분이
되는 것.
11. Modes of Service
OSI의 어떤 층 중 2개의 peer entity사이에서 제공되는 통신 서비스의 종류를
기술하는데는 여러 파라미터가 있다. 여기서는 transport 층이 응용 층에 제공
하는 서비스에 초점을 두고 설명한다.
(1) connection-oriented (virtual circuit)와 connectionless
(2) sequencing
(3) error control
(4) flow control
(5) byte stream 혹은 message
(6) full-duplex 혹은 half-duplex
connection-oriented 서비스는 통신 시작 전에 응용 프로그램 사이에 논리적인
연결이 되어 있어야 한다. 이것을 가상 회선이라 한다.
응용 프로그램 입장에서는 전용선을 가지는 것과 같은 착각을 일으키게 한다.
보통 다음의 3단계를 가진다.
(1) connection establishment
(2) Data transfer
(3) connection termination
connectionless 서비스(Datagram)는 데이터그램(datagram)이라 불리는 메시지
를 전송하는데 각각은 독립적이므로 전송을 위한 모든 정보를 가지고 있어야
한다. TCP/IP의 경우 TCP는 connection-oriented 서비스를 제공하며 UDP는
connectionless 서비스를 제공한다.
ISO/OSI 네트워크 모델
OSI(Open System Interconnection)란 여러 프로토콜들의 국제적 표준화를 위
해 ISO가 만든 개방형 시스템을 연결하는 모델이다.
OSI 모델은 그 자체가 네트워크 아키텍처는 아니다. 왜냐하면 OSI모델이 각
층에서 사용될 정확한 서비스나 프로토콜을 지정하고 있지는 않기 때문이다.
OSI는 단지 각 층이 무엇을 해야 할지만을 말하고 있다. OSI 모델은 7개의 계
층으로 구성된다.
1. 물리 층(Physical layer)
물리 층은 통신 채널을 통한 순수 데이터(raw bit)들의 전송과 관련된다.
디자인 이슈는 한 쪽에서 보낸 1비트를 다른 한쪽에서 어떻게 하면 그대로 전
송 받을 수 있을지를 확실하게 할 수 있는가 하는 점이다.
전형적인 문제로는 1(0)비트를 어떻게 나타낼 것인가, 전송의 방향은 어떻게 할
것인가, 최초 연결의 설정은 어떻게 할 것인가 등이다. 이러한 물리 층의 디자
인은 전기공학의 측면에서 생각될 수 있는 것이다.
2. 데이터 링크 층(Data Link layer)
데이터 링크 층의 주 업무는 순수 데이터 전송 설비를 네트워크 층에서 보았을
때 에러가 없어 보이는 전송 라인으로 변환시켜 주는 것이다. 즉, 송신자는 데
이터를 데이터 프레임이라는 작은 조각으로 나누어 순차적으로 전송하고 수신
자에 의해 되돌아오는 acknoledgement 프레임을 처리하여 에러에 대한 처리를
해 준다. 이런 프레임의 양쪽 끝에는 프레임의 경계를 알기 위해 특정 비트 패
턴을 붙인다.
프레임의 손상, 손실, 중복에 관해 처리하는 것도 담당한다.
3. 네트워크 층(Network layer)
네트워크 층은 서브넷(subnet)의 동작을 제어하는 것과 관련된다.
주요 디자인 이슈는 어떻게 패킷이 소스에서 목적지로 경로가 설정될지를 결정
하는 것이다.
라우트는 정적 테이블을 이용하여 터미널 세션과 같은 각 대화의 시작점에 결
정될 수 있다. 또는 현재의 네트워크 부하를 감안하여 동적으로 결정될 수도
있다.
네트워크 포화(congestion)의 제어도 이 네트워크 층이 맡는다.
heterogenous 네트워크(이형 네트워크 - 서로 다른 구조의 네트워크)가 서로
연결될 때 발생하는 여러 문제들, 즉 허용 패킷의 크기 문제나 어드레싱(이름
부여) 차이 문제들의 해결도 담당한다.
Broadcast 네트워크에서는 라우팅 문제가 간단하므로 네트워크 층이 매우 얇게
되거나 아예 없는 경우가 많다.
4. 트랜스포트 층(Transport layer)
기본 기능은 세션 층에서 데이터를 받아 필요하면 더 작은 부분으로 나누고 이
것을 네트워크 층으로 전송한 후 각 조각들이 모두 목적지로 바르게 도착했는
지를 확인하는 것이다. 덧붙여 세션 층을 하드웨어의 변화에 의한 변경으로부
터 분리한다.
일반적인 조건에서 트랜스포트 층은 세션 층이 요구하는 각 트랜스포트 층에
대해 구별되는 네트워크 연결을 생성한다. 만약 트랜스포트 층이 고효율이 필
요한 경우 네트워크 연결사이에서 데이터를 분할하여 다중 네트워크 연결을 생
성한다. 반면 네트워크 연결의 유지비용이 많이 드는 경우 트랜스포트 층은 비
용 절감을 위해 같은 네트워크 연결로의 트랜스포트 연결을 통합(multiplexing)
할 수 있다.
모든 경우 트랜스포트 층은 multiplexing을 세션 층에 대해 투명하게 해야 한
다.
트랜스포트 층은 또한 최종적 네트워크 사용자인 세션 층에 어떤 타입의 서비
스를 제공할지를 결정한다. 가장 유명한 형태의 트랜스포트 연결은 보낸 순서
대로 메시지를 전송하는 에러 없는 점대점(point-to-point) 채널이다. 또 다른
트랜스포트 서비스의 종류로는 전송 순서에 대한 보장 없는 독립된 메시지 전
송과 여러곳으로의 메시지의 방송(broadcasting)이다. 이러한 서비스의 종류는
연결이 구축될 때 결정된다.
트랜스포트 층은 진정한 end-to-end(source-to-destination)층이다. 다시 말하
면 소스 기계의 프로그램이 메시지 헤더와 제어 메시지를 이용해 목적지의 다
른 비슷한 프로그램과 대화한다. 1-3층은 각 기계와 그 주변 사이의 프로토콜
일 뿐 궁극적인 소스와 목적지 기계에 의한 것은 아니다. chained 형태인 1-3
층과 다른 점은 4-7층이 end-to-end 라는 것이다.
많은 호스트가 다중 프로그래밍 되므로 즉, 여러 개의 연결이 이루어지는 데
있어 메시지가 어떤 연결에 속하는지 알기 위한 정보도 또한 포함한다.
트랜스포트 층은 여러 메시지를 한 채널로 통합할 뿐 아니라 네트워크사이 연
결의 해제와 설정을 관리해야 한다. 이것을 위해서는 이름 부여 방법이 필요하
다. 또한 정보의 흐름을 조절하는 메커니즘도 있어야 한다.
5. 세션 층(Session layer)
크게 인증과 검증을 처리한다.
세션 층은 다른 기계의 사용자가 그들 사이의 세션을 설정하도록 한다. 세션은
트랜스포트 층과 같이 보통의 데이터 전송을 한다. 그러나 어떤 응용에서는 더
개선된 서비스를 제공한다. 또한 세션은 원격 로그인을 하거나 파일을 전송하
게 한다.
세션 층의 서비스 중 하나가 다이얼로그 컨트롤이다. 즉, 동시에 양 방향으로
할 것인가 한 방향으로만 전송할 것인가 등을 결정하는 것이다.
관련 세션 서비스가 토큰 매니지먼트이다. 이것은 토큰을 가진 쪽에서 적절한
행동을 취할 수 있게 한 것이다. 또 다른 세션 서비스가 syncronization이다.
파일을 전송할 때 중간에 끊기게 되는 경우 이 전에 끝났던 부분에 체크포인트
를 삽입하여 전송을 재개하면 다시 그곳에서부터 시작하게 하는 것이다.
6. 프리젠테이션 층(Presentation layer)
크게 데이터 문제와 압축을 처리한다.
프리젠테이션 층은 전송되는 정보의 문법과 의미에 관계된다. 서비스의 한 예
로는 기계마다 서로 다른 데이터 표현형식의 통일을 위해서 데이터를 표준 형
식으로 encode하는 것이다. 또한 데이터 압축과 암호화 등에도 관련된다.
7. 애플리케이션 층(Application layer)
최종사용자에게 서비스를 제공한다(mail, login 등).
애플리케이션 층은 일반적으로 쓰이는 여러 프로토콜을 포함한다. 예로 서로
다른 형식의 터미널 타입의 호환을 위해 가상의 네트워크 버츄얼 터미널을 정
의하여 실제 터미널을 이것으로 매핑하는 것이다. 또 다른 기능으로는 파일
전송이 있다. 서로 다른 파일 이름 지정 방법이나 문자 라인의 표현 방식을 서
로 호환되도록 하는 것이다.
이 외에도 e-mail, remote job entry, directiory lookup 등의 일도 수행한다.
TCP/IP 네트워크 모델
1. 링크 층
네트워크 하드웨어와 디바이스 드라이버를 책임진다.
TCP/IP는 이서네트와 토큰 링, RS-232 시리얼 라인에서 구현되었다.
2. 네트워크 층
기본 통신, 어드레싱, 라우팅을 책임진다.
(1) IP 데이터그램
모든 IP 데이터그램은 출발지와 도착지 주소를 가진다. 즉, 각 데이터그램이 독
립적인 경로를 가질 수 있다는 말이다.
또한 fragmentation이 책임도 가지며 기본적인 flow control도 제공한다.
(2) 인터넷 어드레스(전체 32비트)
multihomed인 경우 모든 인터넷 주소는 고유한 호스트를 지칭하지만 각 호스
트가 고유한 주소를 가지지는 않는다.
(3) 서브넷 어드레스
어떤 클래스의 인터넷 주소를 가진 기관이 원하는 경우 서브네트워크를 제공하
기 위해 가능한 호스트 주소 공간을 분할 할 수 있다.
예를 들면 class B의 주소를 가지는 경우 호스트 ID에 150개의 호스트를 할당
하고 이것들을 10개의 물리적 네트워크로 구성하기위한 첫 번째 방법으로는 물
리적인 구성을 무시하고 호스트 ID를 1에서 150까지 부여하는 것이다. 이 방법
은 모든 게이트웨이가 각각의 호스트가 어디 있는지 알아야 한다. 이 경우 새
로운 호스트를 추가할 때 각 게이트웨이의 라우팅 테이블의 갱신이 필요하다.
두 번째 방법이 서브넷을 이용하는 것이다. 즉 호스트 ID비트 중 8비트를 서브
넷 ID로 쓰는 것이다. 이 경우 첫 번째 방법과는 달리 게이트웨이 시스템은 서
브넷 ID를 가지고 라우팅에 사용한다. 새로운 호스트의 추가에도 갱신이 불필
요하다.
(4) Address Resolution
이서네트의 경우 48비트를 사용하는데 인터페이스 보드 제작 사에서 고유 번호
를 부여한다.
IP층이 인터넷 주소를 이서네트 주소로 변환하는 것을 Address Resolution이라
하고 디스크 없는 워크스테이션이 부트될 때 인터넷 주소를 결정하는 것을
Reverse Address Resolution이다.
ARP는 호스트가 특별한 패킷을 broadcast하여 특정 인터넷 주소를 가진 호스
트가 그 이서네트 주소에 응답하도록 할 수 있다. 응답을 받은 requesting 호스
트는 이서네트 주소를 인터넷 주소로 매핑하여 다음 데이터를 전송할 때 같은
주소를 계속 사용해 패킷을 전송하는 것이다.
RARP는 RARP서버가 32 비트 인터넷 주소와 대응되는 48비트 이서네트 주소
를 각 워크스테이션에 대해 가진다. 워크스테이션이 초기화 될 때 이서네트 주
소를 하드웨어 인터페이스로부터 얻어 이서네트 RARP 패킷(이서네트 주소를
가지고 인터넷 주소를 질의)을 broadcast한다. 이 때 RARP 서버만이 응답한
다.
3. 트랜스포트 층
네트워크에서 프로그램사이의 통신을 책임진다. TCP/UDP가 있는데 UDP는 IP
와 구별되는 2가지의 특징을 가진다.
> 포트 번호를 가진다.
> optional checksum를 가진다.
위의 2가지는 IP를 직접 사용하지 않고 UDP를 사용하는 충분한 이유가 된다.
4. 애플리케이션 층
최종 사용자 응용 프로그램들로 FTP, TFTP, BOOTP 등이 있다.
TCP/IP의 구성요소
1. 인터넷 프로토콜(IP)
실제 데이터를 한 기계에서 다른 기계로 보낸다.
모든 TCP, UDP, ICMP, IGMP 데이터가 IP 데이터그램으로 전송된다.
IP는 unreliable(비신뢰성), connectionless(비연결성) 데이터그램 전송 서비스를
제공한다. 비신뢰성의 예로는 만약 라우터 버퍼가 다 찬 경우 IP는 데이터그
램을 버리고 ICMP 메시지를 출발지로 되돌려 보낸다. 비연결성이란 각각의 데
이터그램이 다른 데이터그램과 독립적으로 다루어짐을 의미한다. 예를 들면 패
킷 A,B를 보내는 경우 둘은 서로 다른 경로를 경유하여 B,A순으로 도착할 수
있다는 것이다.
2. 인터넷 제어 메시지 프로토콜(ICMP)
에러 메시지, 라우팅 어시스턴스, echo request를 포함하는 IP에 대한 저 수준
의 지원
ICMP는 IP층의 일부로 여겨지곤 한다.
ICMP는 에러 메시지와 주의를 요하는 다른 조건들을 가지고 통신한다. ICMP
메시지는 보통 IP layer와 TCP나 UDP 같은 높은 계층에서도 작동한다.
어떤 ICMP 메시지는 사용자 프로세스에게 되돌려질 에러를 발생한다. ICMP
메시지는 IP 데이터그램에서 전송된다. 즉 IP 데이터그램에 encapsulation됨을
의미한다.
3. Address Resolution 프로토콜(ARP)
네트워크의 논리적 주소를 물리적인 하드웨어 주소로 변환한다.
4. User Datagram 프로토콜(UDP)와 Transmission Control 프로토콜(TCP)
IP를 통해 하나의 프로그램에서 다른 프로그램으로 데이터를 보내고(TCP),
UDP는 각 메시지에 대한 검증 없는 전송을 수행한다. UDP와 달리 TCP는 신
뢰성 있는 connection-base 전송을 한다.
호스트의 주소 지정
어떤 한 기계에 부여할 수 있는 주소는 크게 2가지인데 물리적인 주소(이서네
트 등의 주소)와 논리적인 주소(인터넷 주소)이다.
1. 하드웨어에 의한 가장 낮은 수준의 주소관리
(addressing)
▶ 이서네트의 경우는 6바이트의 주소를 할당한다.
▶ 토큰링은 2, 4, 6바이트의 주소를 가진다.
▶ point-to-point 네트워크(SLIP/PPP)는 주소를 가지지 않는다.
2. 인터넷 어드레싱
IP 어드레싱으로 알려진 것으로써 세계적으로 고유한 값을 가지며 시스템 종속
적인 성질을 가진다. 4바이트 IP 주소는 각 네트워크 장치에 할당된다.
3. IP 주소와 하드웨어 주소와의 매핑
링크 계층에 의해 구현되어 진다.
Broadcasting되는 네트워크에서는 ARP가 자동으로 해준다. 유닉스 시스템에
서는 IP 주소를 텍스트 이름으로 연관시켜 준다(‘/etc/hosts’ 파일을 사용하
거나 DNS를 사용한다).
인터넷 주소
인터넷 주소는 4바이트 주소로 네트워크 부분과 호스트 부분으로 나뉜다. 호스
트 부분은 네트워크에서의 시스템(기계)을 지정한다. 네트워크 부분은 주소가
참조하는 논리적 네트워크를 지정한다. 네트워크 부분에서 라우팅 결정이 이루
어진다. 관례적으로 10진수로 쓰인다.
인터넷 주소의 분류
전부 5개로 분류한다.
1. A 클래스
주요 네트워크로서 거의 할당하지 않는다. 형식은 N.H.H.H 이다(N이 네트워크
부분, H가 호스트 부분).
1.*.*.* ~ 128.*.*.*값을 가진다.
2. B 클래스
비교적 큰 사이트에 할당한다. 일반적으로 서브넷된다. 실제 얻기 어려운 주소
이다. 형식은 N.N.H.H 이다.
128.1.*.* ~ 191.255.*.*값을 가진다.
3. C 클래스
비교적 얻기 쉬운 주소이다.
형식은 N.N.N.H 이고 192.1.1.*~223.255.255.*값을 가진다.
4. D 클래스
Multicast 주소로 아직 개발중인 클래스이다.
224.*.*.* ~ 239.*.*.* 값을 가진다.
5. E 클래스
실험용으로 쓰이는 주소이다. 240.*.*.* ~ 254.*.*.* 값을 가진다.
참고:0.*.*.*와 127.*.*.* , 255.*.*.* 주소는 일반 IP 주소로는 쓰지 않고 특수
목적에 사용한다. 0.*.*.*는 자신의 네트워크를 지칭하며 127.*.*.*는 실제
가 아닌 가상의 네트워크인 loop back 네트워크를 가리킨다. 255.*.*.*는
broadcast 주소로 쓰인다.
Routing
시스템의 라우팅 테이블에 의한 라우팅이 이루어진다.
netstat 명령어로 라우팅 테이블을 검색할 수 있다.
inhavision.inha.ac.kr> netstat -r -n
Routing tables
Destination Gateway Flags Refs Use Interface
Netmasks:
Inet 255.255.255.0
Route Tree for Protocol Family 2:
default 165.246.10.250 UG 31 1911758 tu0
127.0.0.1 127.0.0.1 UH 1 4 lo0
165.246.10 165.246.10.162 U 8 330973 tu0
1. 라우팅 테이블 관리
(1) 정적 관리
route 명령어를 이용하여 주로 부팅할 때 추가해 준다.
(예) route add net 202.87.240.0 202.87.242.23 1
(2) 데몬에 의한 동적 관리
2. 라우팅 프로토콜
라우팅 프로토콜은 네트워크 사이의 정보 교환을 위해서 라우팅 데몬에 의해
사용되는 것이다.
각 프로트콜은 크게 2가지로 분류된다.
하나는 IGP(Interior Gateway Protocol)이고 다른 하나는 EGP(Exterior
Gateway Protocol)이다.
IGP는 autonomous system(하나의 중앙 제어에 묶인 네트워크 집합)의 라우팅
정보를 관리한다. EGP는 autonomous system들 사이의 라우팅을 관리한다.
EGP에 등록하기 위해서는 InterNIC의 autonomous system으로써 등록해야 한
다.
등록양식은 internic.net의 ftp나 HOSTMASTER@internic.net에 있다.
3. 라우팅 프로토콜의 종류
(1) Routing Infomation Protocol(RIP)
(2) Open Shortest Path First (OSPF)
(3) Interior Gateway Routing Protocol (IGRP)
(4) Exterior Gateway Protocol(EGP)
(5) Border Gateway Protocol(BGP)
(6) Distance Vector Multicast Routing Protocol(DVMRP)
RIP,OSPF,IGRP는 interior 프로토콜이다.
EGP, BGP는 exterior 프로토콜이다.
DVMRP 는 IP 멀티캐스팅 구현 실험에 사용된다.
RIP는 옛 XNS 프로토콜로 IP 네트워크에 채택되어 표준 유닉스 routed 데몬
에 의해 사용된다. cost metric은 hop cou nt로써 패킷이 흐르는 각 기계를 1
hop으로 계산하다. 이유는 경로가 길어지면 RIP가 도달할 수 없는 것으로 인
식하기 때문이다(16router 이상의 길이에선 RIP를 사용하기 힘들다).
OSPF는 최근 많이 쓰이는 새 프로토콜로 크고 복잡한 topology에 잘 동작한
다.
RIP에 비해 여러 장점을 가지는데 하나의 목적지로 여러 경로 관리에 좋은 점,
고수준 라우팅 정보를 공유하는 부분만으로 네트워크 분할이 가능한 점 등이
다.
IGRP는 대중적이지만 점점 사라지는 추세의 프로토콜이다.
EGP는 ARPANET 게이트웨이에 의해 불려진 오래 된 프로토콜로 cost metric
을 이용하며 특정 네트워크 topology를 가정한다. 최근 BGP로 대치되는 추세
이다.
BGP는 EGP에 autonomous 시스템의 복잡한 토폴로지에 대한 지원을 추가한
것이다.
..........
'IT > Network' 카테고리의 다른 글
텔넷(telnet)의 가장 기본적인 명령어 (0) | 2017.03.23 |
---|---|
ping(핑)과 tracert (trace route)의 개념 (0) | 2017.03.23 |
네트웍(network) 기초 (0) | 2017.03.23 |