본문 바로가기

컴퓨터 네트워크

컴퓨터 네트워크 : 2. The OSI Model and the TCP/IP proctocal Suite

1. Internet

1) 인터넷이란

  • 인터넷(영어 : Internet, 문화어 : 인터네트) :  컴퓨터로 연결하여 TCP/IP Protocal이라는 통신 프로토콜을 이용해 정보를 주고받는 컴퓨터 네트워크
  • network와 network를 서로 연결하는 것

2) 인터넷 어원

  • 인터넷이란 이름은 1973TCP/IP를 정립한 빈튼 서프밥 간이 '네트워크의 네트워크'를 구현하여 모든 컴퓨터를 하나의 통신망 안에 연결(International Network)하고자 하는 의도에서 이를 줄여 인터넷(Internet)이라고 처음 명명하였다.
  • 최초에 인터넷은 군사적인 목적으로 개발되었다.

2. The OSI Model

1) ISO(International Standards Organization)

  • ISO : 1947년에 설립된 국제 표준에 대한 세계적인 합의를 전담하는 다국적 기관
  • 세계 국가의 4분의 3이 가입되어 있다.
  • 네트워크 통신의 모든 측면을 다루는 ISO standard는 OSI(Open Systems Interconnection) model이다.
    • 1970년대 후반에 처음 소개
ISO는 기관이고 OSI는 model이다.

2) OSI model

  • 다음과 같이 7개의 layer로 모듈화되어 있다.

OSI seven layer

  • OSI model을 통한 두 컴퓨터 간 통신

OSI layer를 통한 두 컴퓨터 간 통신

  • OSI model을 사용한 exchange
    • 발신자 입장에서는 하위 layer로 내려갈 수록 헤더가 추가됨
    • 수신자 입장에서는 헤더를 통해 작업하고 헤더 제거 후 상위 layer로 올라감

  • OSI layer 요약
    • Application : 네트워크 자원에 접근할 수 있게 해준다.
    • Presentation : 데이터 변환, 암호화 및 압축
    • Session : 세션 설정, 관리 및 종료
    • Transport : 신뢰할 수 있는 프로세스 간 메시지 전달 및 오류 복구를 제공
    • Network : 패킷을 source에서 destination까지 이동하고, internetworking을 제공
    • Data Link : 비트를 프레임으로 구성하고 hop-to-hop delivery를 제공
    • Physical : medium을 통한 비트 전송; 기계적 및 전기적 사양 제공

physical layer는 한 노드에서 다른 노드로 individual bit(개별 비트)를 이동하는 역할을 한다.

(1) 네트워크 전달 방식 종류

  1. Circuit Switching Network(중앙제어 전달 방식)
    • 출발하기 전에 경로를 미리 파악한 후 데이터 전달(연결지향)
    • 경로를 독점(dedlicated)하기 때문에 다른 사람이 끼어들 수 없다.
    • (단점) 중앙이 사라지거나 문제가 발생하게 되면 네트워크 통신 자체가 먹통이 됨
      → 국방부에서 circuit switching network를 없애고 packet switching network로 변경함
  2. Packet Switching Network(목적지 주소 전달 방식)
    • 데이터를 패킷이라는 단위로 쪼개서 전송하는 방식(비연결지향)
    • 패킷의 헤더에는 src와 des에 대한 정보가 있고 라우팅 알고리즘을 이용하여 경로를 설정하고, 중간의 라우터들을 거쳐 최종 목적지에 도달하게 된다.
    • (장점) 낭비가 없다.
    • (단점) 게런티가 안된다

3. TCP/IP Protocal suite

1) TCP/IP Protocal suite

  • OSI 모델 이전에 개발됨
  • TCP/IP 프로토콜 제품군의 layer는 OSI 모델의 layer와 정확히 일치하지 않는다.
  • 원래 TCP/IP 프로토콜 제품군은 하드웨어에 구축된 4개의 소프트웨어 layer로 정의되었다.
  • 오늘날 TCP/IP는 OSI 모델의 layer와 유사한 이름을 가진 5-layer 모델로 간주된다.

OSI 모델과 TCP/IP 프로토콜 제품군 비교

2) A private internet

  • 라우터 : 네트워크와 네트워크를 연결하는 장비 → 라우터가 테이블을 통해서 어느 네트워크로 갈지 결정

(1) Communication at the physical layer

  • physical layer에서 통신 단위는 bit이다.
  • 비트를 어떻게 변환해서 전달할지를 결정

(2) Communication at the date link layer

  • date link layer에서 통신 단위는 frame이다.
  • Hot-to-hop delivery를 가능하게 함 → Mac 주소를 사용하여

(3) Communication at the network layer

  • network layer에서 통신 단위는 datagram이다.

(4) Communication at transport layer

  • transport layer의 통신 단위는 이 layer에서 사용되는 특정 프로토콜에 따라 segment, user datagram 또는 packet이다.

(5)  Communication at application layer

  • application layer의 통신 단위는 message이다.

4. Addressing

  • TCP/IP 프로토콜을 사용하는 인터넷에서는 physical address, logical address, port address 그리고 application-specific address네 가지 level의 주소가 사용된다.
  • 각 주소는 TCP/IP 아키텍처의 한 layer와 관련이 있다.
    1. application layer에서 사용하는 주소는 필수 x
    2. transport layer : port address(포트 넘버)
    3. network layer : logical address(IP 주소)
    4. data link layer : physical address(Mac 주소)

1) Physical address

<옛날 방식 : 이더넷이 컴퓨터마다 연결됨>

  • 두 노드는 link(LAN)로 연결된다. date link layer에서 이 frame은 헤더에 다음을 포함
    • physical address를 포함
    • 헤더의 나머지 부분에는 이 level에서 필요한 다른 정보를 포함
  • sender : physical address가 10인 컴퓨터 / receiver : physical address가 87인 컴퓨터
  • sender의 데이터 링크 계층은 상위 계층으로부터 데이터를 수신 
    → 데이터를 프레임에 캡슐화함
    → 프레임은 LAN을 통해 전파됨
  • 87이 아닌 물리적 주소를 가진 각 스테이션은 프레임의 destination address와 일치하지 않기 때문에 프레임을 삭제한다.
  • intended destination computer(대상 시스템)은 프레임의 destination address와 자신의 physical address 간에 일치하는 내용을 찾는다.

physical address가 10인 노드에서 87인 노드로 frame을 보내는 상황

<현재 방식 : switch로 장비들의 LAN들을 서로 연결>

  • Switch : 어떠한 인터페이스에 어떠한 Mac 주소가 있는지를 저장하여 다음 수행 때 다른 인터페이스로 넘겨지지 않고 즉시 감

<표준 이더넷 구현>

(1)  Physical address 예시

  • 대부분의 local area network는 12자리 16진수로 작성된 48 비트(6 바이트) physical address를 사용
  • 모든 바이트(2자리 16진수)는 아래와 같이 colon(:)으로 구분됨

 

2) Logical address

  • 각 장치(컴퓨터 또는 라우터)는 각 연결에 대해 한 쌍의 주소(logical and physical)를 가진다.
  • 이 경우 각 컴퓨터는 하나의 link에만 연결되므로 주소 쌍은 하나뿐이다.
    그러나 각 라우터세 개의 네트워크에 연결되어 있다.
    따라서 각 라우터에는 각 연결마다 하나씩 세 쌍의 주소가 있다.
  • 각 라우터가 각 연결에 대해 별도의 physical address를 가져야 하는 것은 분명하지만, 각 연결에 대해 logical address가 필요한 이유는 분명하지 않음
  • 논리 주소가 A이고 물리 주소가 10인 컴퓨터는 논리 주소가 P이고 물리 주소가 95인 컴퓨터로 패킷을 보내야한다.
  • 논리적 주소는 문자로 물리적 주소는 숫자로 나타내지만,  둘 다 실제 숫자이다.
    IP주소(logical address)는 실제로 32비트 숫자 이지만 알파벳으로 대체
    Mac주소(physical address)를 간단한 숫자로 대체

세 개의 LAN을 연결하는 두 개의 라우터가 있는 인터넷 일부

<위 그림 설명>

초록색 table : routing table → D(최종 목적지) / N(바로 다음 목적지)

초록색 table : APR table → 같은 LAN에 있는 네트워크들의 Mac 주소를 저장하는 테이블

▶ LAN → LAN : Mac 주소를 헤더(검정색)에 있는 logical address 통해 본인 네트워크에 속하는 지 확인 후 

    1) 속한다 → APR 테이블을 통해서 P에 대한 Mac 주소를 받아와서 목적지 P로 전송
    2) 속하지 않음 → Mac 주소(검정색 헤더)를 제거한 후 IP 주소를 확인하여 APR 테이블을 통해서 다음으로 보내야 할
                                주소를 찾아서 새로운 Mac 주소(검정색 헤더)를 추가해서 전송

1. hop-to-hop 전송 : A → F / T → N / Z → P
2. src-to-des 전송 : A → P

Physical address(Mac) : hop to hop으로 인해 변경될 수 있다.
Logical address(IP)
: 같은 값으로 유지됨

 

3) Port Number

  • sending computer A: 현재 포트 주소 a, b 및 c를 사용하여 세 가지 프로세스를 실행하고 있다.
  • receiving computer P : 포트 주소 j와 k를 사용하여 두 개의 프로세스를 실행
  • A의 프로세스 a는 P의 프로세스 j와 통신해야 한다.
    • 예를 들어, 두 컴퓨터가 동일한 응용 프로그램인 FTP를 사용하고 있지만 
      하나는 클라이언트 프로그램이고 다른 하나는 서버 프로그램이기 때문에 포트 주소가 다름

인터넷을 통해 통신하는 두 대의 컴퓨터를 보여준다.

<Port number가 필요한 이유>
IP 주소 : 컴퓨터에 할당되는 주소(즉, 전세계에 단 하나)
→ 한 컴퓨터 안에서 여러 개의 인터넷 m을 실행할 수 있다.
→ 따라서 어떤 application program에 할당되어야 하는 데이터인지에 대한 구분이 필요
→ 각 application program에 Port number 부여하여 구분

(1) Port number 예시

  • 포트 주소는 하나의 10진수 숫자로 표현되는 16비트 주소이다.

 

4) Address 정리

Transport layer(port number) : process to process communication을 담당
Network layer(IP address) : src to des delivery을 담당
Data Link layer(Mac address) : hop to hop delivery을 담당
※!!!추가 필기!!!※
Port number는 해당 컴퓨터 내에서만 유일하면 됨
Mac address는 LAN 내에서 유일하면 됨
IP address는 전세계에서 유일하면 됨

5) Network 장치

(1) Repeater

  • Repeaterphysical layer에서 작동한다. Repeater의 기능은 신호가 너무 약해지거나 손상되기 전에 동일한 네트워크를 통해 신호를 재생성하여 신호가 동일한 네트워크를 통해 전송될 수 있는 길이를 연장하는 것이다.
  • 신호가 약해지면 신호를 조금씩 복사해서 원래 강도로 재생한다.
  • 2 port device

※ 주의할 점 ※ 중계기가 신호를 증폭시키지 않는다는 것

(2) Hub

  • Hub는 기본적으로 multiport repeater이다.
  • Hub는 서로 다른 분기(branch)에서 오는 여러 와이어를 연결한다.
    • 예를들어, 다른 스테이션을 연결하는 star topology의 connector이다.
  • Hub는 데이터를 필터링할 수 없으므로 data packet이 연결된 모든 장치로 전송된다.
    즉, 허브를 통해 연결된 모든 Host의 collision domain은 하나로 유지된다.
  • (단점) data packet에 대한 최적의 경로를 찾을 수 있는 intelligence(지능)이 없어 비효율성낭비를 초래

(3) Bridge

  • Bridge데이터 링크 계층에서 작동
  • Bridge는 source 및 destination의 MAC 주소를 읽어 콘텐츠를 필터링하는 기능이 추가된 Repeater
  • 동일한 프로토콜에서 작동하는 두 개의 LAN상호 연결하는 데 사용됨
Fitering : 해당 목적지가 아니면 보내지 않도록 하는 과정

(4) Switch( Hub + fiterling 기능)

  • Switch효율성(포트 수가 많으면 traffic이 적음)과 성능(performance)을 높일 수 있는 버퍼와 설계를 갖춘 multi port bridge이다.
  • Switch데이터 링크 계층 디바이스이다.
  • 버퍼를 가지고 있어서 저장했다가 보냄
  • Switch는 데이터를 전달하기 전에 오류 확인을 수행할 수 있으므로 오류가 있는 패킷을 전달하지 않고 올바른 포트에만 올바른 패킷을 선택적으로 전달하지 않으므로 매우 효율적이다.
  • 즉, Switch는 Host의 collision domain을 분할하지만 broadcast domain은 동일하게 유지