[Network model] Layered tasks 전자공학이론/데이터 통신2015. 10. 20. 04:42
인터넷이란 TCP/IP protocol을 사용하는 네트워킹 방식이라고 했다. 인터넷에서 각 컴퓨터 간을 연결해주는 이더넷 카드를 통해서 어떻게 TCP/IP 메세지가 전달되는 것일까?
인터넷에는 시스템에 상관없이 서로의 시스템이 연결될 수 있도록 해야 한다. 이것은 데이터 전송에 대해 처리해야할 일들을 계층별로 나눔으로써 캡슐화시켜 이루어지고 있다. 이렇게 하여 각 계층에서 필요한 부분만을 개발자들이 신경쓰게 되고 통신 서비스 개발시간을 줄일 수 있도록 하였다.
이렇게 계층화된 네트웤 모델에는
1. 네트웤 통신에서 개념적인 모델인 OSI model
2. 인터넷에서 실제 사용하는 TCP/IP
가 있다.
1. OSI model
OSI는 각종 시스템간의 연결을 위하여 ISO에서 제안한 모델로써, OSI(Open System Interconnection Reference Model)에서 유추할 수 있듯이, 어떤 다른 종류의 시스템이라도 그것들의 아키텍처와 상관없이 서로 통신을 할 수 있도록 한다. OSI는 7개의 계층으로 되어있다.
각 계층은 데이터 유닛에 그 자신의 헤더를 붙인다. 헤더에는 제어정보, 오듀검출 코드, 주소들이 포함되어 있다. 여기서 데이터 유닛 앞에 Header을 붙이는 과정을 Encapsulation이라고 하고, 반대로 상대방이 붙인 Header를 제거하면서 상위 Layer로 데이터를 전달하는 과정을 Decapsulation이라고 한다.
각 계층의 기능을 간단히 설명하면 다음과 같다.
1) Physical Layer
물리적 계층, 즉 이더넷 카드와 같은 하드웨어를 말한다. 이 계층에서는 물리적 매체로 bit를 주고 받는 것을 맡고 있다. 인터페이스와 전송매체의 기계적이고 전기적인 특성과 관계가 있다.
2) Data Link Layer
데이터 링크는 소프트웨어적이 아닌 하드웨어적으로 frame을 노드에서 다음 노드로 옮기는 것은 맡는다. 또한 물리층에서 error에 대해 신경쓰지 않도록 이 계층에서 전송매체로부터 전달된 데이터의 error를 검사한다.
3) Network Layer
각각의 패킷들을 발신지에서 목적지까지 전송하는 경로를 배정하는 일(라우팅)을 담당한다. 이것은 하드웨어적인 것이아닌 소프트웨어적으로 처리하는 과정이다.
만약 두 시스템이 같은 링크에 연결되어 있다면 Network Layer는 필요없다.
4) Transport Layer
Transport Layer 도착을 원하는 시스템까지 데이타를 전송하기 위한 일을 하는 계층이다. 전체 메세지의 process-to-process 전달을 맡고 있다. 이와 달리 Network Layer는 목적지는 알지만 어떤 프로세스에 데이터를 전달해야 하는지는 모른다.
Session Layer와 Presentaion Layer의 설명은 생략.
5) Application
이 계층은 전자메일, 원격 파일접근이나 전송과 같이 네트웍을 사용하는 응용프로그램등으로 이루어 지며 사용자에게 서비스를 제공하는 것을 담당한다.
2. TCP/IP 계층
TCP/IP 계층은 OSI 7 계층을 더 단순화 시켜서 4개의 계층으로 만들어서 사용한다. :Physical, internet, transport, application
1) Physical Layer TCP/IP는 어떤 특정한 프로토콜을 정하지 않는다. 그래서 모든 표준과 적절한 프로토콜을 지원한다.
2) internet(Network) Layer 네트웤에서 데이터를 정확히 라우팅하기 위해서 IP프로토콜을 사용한다.
3) Transport Layer 각각의 시스템을 연결하고 TCP프로토콜을 이용하여 데이타를 전송한다.
4) Application Layer 이 계층은 OSI 모델이서 Session, presentation, application layer를 포함한다. FTP, HTTP, DNS등 많은 프로토콜들이 정의되어 있다.
-TCP/IP 데이터 전송 절차
그럼 실제로 TCP/IP 4계층을 이용해서 어떻게 데이타가 전송되는지 알아보도록 하자.
결국 각각의 계층은 각각의 계층만을 상관하고 있음을 알수 있다. 즉 Application Layer 에 위치하는 브라우저와 webserver 는 HTTP 프로토콜에 의해서 자신의 계층끼리만 통신을 하고, Transport Layer 은 역시 TCP 프로토콜에 의해서 Transport Layer 끼리 통시을 함을 알수 있을것이다. 말그대로 계층적 구조를 가지며, 각 계층은 대응되는 상대편의 계층에 대해서만 상관한다.
-TCP/IP 주소지정
tcp/ip 프로토콜을 사용하는 인터넷에서는 4 level의 주소를 사용하고 있다.
1) Physical Addresses
물리적 주소는 링크 주소라고도 하는데, LAN이나 WAN에 의해 정의된 노드의 주소이다.
예를 들어, 위 그림은 물리주소 10을 가진 노드가 물리주소 87을 가진 노드에 한 프레임을 보내는 것이다. 두 노드는 한 링크에 의해 연결되어져 있다.
대부분의 LAN은 6byte(1byte당 2hexadecial digits해서 6개)의 물리주소인 MAC address를 사용한다.
2) Logical Address
Logical addresses는 Network layer의 주소로써 물리적 네트워크에 차이에 관계없이 통신을 하기위해 필수적이다.
인터넷에서의 논리주소 IP address는 인터넷이 연결된 호스트을 구별할 수 있는 32-bit 주소이다.
위 그림은 논리주소A와 물리주소10을 가진 컴퓨터가 논리주소P와 물리주소 95를 가진 컴퓨터에 한 패킷을 보내는 것이다. 물리주소는 노드와 노드를 거칠 때마다 바뀌지만 논리주소는 바뀌지 않는다.
3) port Number
TCP/IP에서 한 프로세스에 할당된 라벨을 Port number라고 한다. 한 포트넘버는 16비트이다. 다음은 송신 컴퓨터의 프로세스 a가 수신 단말의 프로세스 j에 통신을 하는 과정이다.
4) Names(specific Address)
이것은 이메일 주소나 URL과 같은 사용자 친화적인 주소이다.
Chapter 2 Network Models
Q2-1 What are the types of addresses (identifiers) used in each of the following layers?
a. application layer – Names that is user friendly
b. network layer – Logical Addresses(IP address in the Internet)
c. data-link layer – physical Addresses(MAC address in LANs)
Q2-9 A host communicates with another host using the TCP/IP protocol suite. What is the unit of data sent or received at each of the following layer?
a. application layer – Message
b. network layer – Packet
c. data-link layer - Frame
P2-1 Protocol layering can be found in many aspects of out lives such as air travelling. Imagine you make a round-trip to spend some time on vacation at a resort. You need to go through some processes at your city airport before flying. You also need to go through some processes when you arrive at the resort airport. Show the protocol layering for the round trip using some layers such as baggage checking/claiming, boarding/unboarding, takeoff/landing.
P2-6 Assume a system uses five protocol layers. If the application program creates a message of 150 bytes and each layer (including the fifth and the first) adds a header of 20 bytes to the data unit, what is the efficiency (the ratio of application-layer bytes to the number of bytes transmitted) of the system?
the number of bytes transmitted = 150 + (20*5) = 250
application-layer bytes = 150
efficiency = (150/250) * 100% = 60%
P2-8 Match the following to one or more layers of the TCP/IP protocol suite:
a. route determination – Network layer
b. connection to transmission media – Presentation layer
c. providing services for the end user – Application layer
'전자공학이론 > 데이터 통신' 카테고리의 다른 글
[physical Layer] 네트워크의 물리적 성능 (0) | 2015.10.20 |
---|---|
[physical Layer] 신호 왜곡 원인 (0) | 2015.10.20 |
[Network model] Interconnection of Networks (0) | 2015.10.20 |
윈도우 기반 서버, 클라이언트 Hello World! (0) | 2015.09.16 |
IP 유틸리티들 (0) | 2015.09.16 |