'네트워크'에 해당되는 글 13건

  1. 2015.08.08 네트워크 데이터 전송되는 과정
  2. 2015.08.08 OSI 7계층과 TCP/IP 4계층
  3. 2015.08.08 TCP가 필요한 이유



WWW (World Wide Web)은 더이상 설멍이 필요없는 유명한 서비스로써, HTTP (HyperText Transfor Protocol)이라는 프로토콜을 이용한다.

 

위의 그림을 설명해 보자면, 일단 사용자는 Mozilla IE 같은 브라우저를 사용하여서 www.joinc.co.kr 같은 URL 입력을 통해서 웹페이지를 요쳥한다.

 

사용자의 요청(문자 메시지가 될것이다)은 인터넷상에서 전달되기 용이한 패킷으로 만들기 위해서 TCP 패킷으로 만들어지게 된다.

 

이것은 다시 인터넷 상에서 원하는 주소로 이동할수 있도록 하기 위해서 IP 패킷으로 다시 만들어 지고(IP 패킷에는 자신의 주소와, 도착해야될 상대방의 주소정보가 들어있을것이다) 이것은 이더넷 카드로 보내어져서 Internet 으로 나가게 된다.

 

Internet 상에서는 원하는 주소로 TCP/IP 패킷을 보내기 위한 여러가지 장치들이 존재하는데(라우터, 토큰링 같은), 이들 장치를 통해서, www.joinc.co.kr 의 이더넷카드로 TCP/IP 패킷이 전달되게 된다. 그럼 이더넷 카드는 TCP/IP 패킷을 바로 윗 계층(Internet Layer)으로 보내는데, 여기에서는 IP 패킷을 분석해서, 이 패킷이 어디에서 왔으며, 그 도착지가 어디인지를 판단하게 된다.(물론 이는 IP주소 기반으로 판단한다)

 

그리하여 목적지가 자신이면 이것을 다시 Transport Layer 로 보내고, TCP 프로토콜을 사용하여, 메시지가 누락된게 있으면 다시 요청하고, 순서를 재조합하는등 통신 메시지를 검사해서 이것을 다시 Application Layer 에게 보낸다

 

Application Layer 에서는 웹서버(IIS, Apache 같은)가 통신메시지를 HTTP 프로토콜에 준하여, 검사를 하여서 사용자가 요청한 웹페이지를 읽어들여서, Transport 계층으로 보내게 된다. 웹페이지를 브라우저까지 전송하는 과정은 위의 정반대의 과정을 순차적으로 거치게 된다.

 

최종적으로 웹브라우저는 웹페이지를 받아서(text) 역시 HTTP 프로토콜에 준하여, 렌더링 작업을 거친후 화면에 뿌려주게 된다.

 

위의 그림에서 보면 알겠지만 각각의 계층은 각각의 계층만을 상관하고 있음을 알수 있다. Application Layer 에 위치하는 브라우저와 webserver HTTP 프로토콜에 의해서 자신의 계층끼리만 통신을 하고, Transport Layer 은 역시 TCP 프로토콜에 의해서 Transport Layer 끼리 통시을 함을 알수 있을것이다. 말그대로 계층적 구조를 가지며, 각 계층은 대응되는 상대편의 계층에 대해서만 상관한다.



참조

http://www.joinc.co.kr/modules/moniwiki/wiki.php/Site/Network_Programing/Documents/IntroTCPIP



'네트워크' 카테고리의 다른 글

DNS서버  (0) 2015.08.08
TCP 흐름제어 혼잡제어  (0) 2015.08.08
TCP와 UDP차이  (0) 2015.08.08
OSI 7계층과 TCP/IP 4계층  (0) 2015.08.08
TCP가 필요한 이유  (0) 2015.08.08
Posted by slender ankles
,

OSI 7 계층

OSI는 각종 시스템간의 연결을 위하여 ISO에서 제안한 모델로써, OSI(Open System Interconnection Reference Model)에서 유추할 수 있듯시스템에 상관없이 서로의 시스템이 연결될 수 있도록 만들어주는 모델이다.


레벨 

계층 

기능 

7계층

Application Layer(응용 계층)

응용계층

프로토콜 : DHCP, DNS, FTP, HTTP, FTP, Telnet

서비스 제공

 사용자가 네트워크에 접근 할 수 있도록 해주는 계층이다. 사용자 인터페이스, 전자우편, 데이터베이스 관리 등 서비스를 제공한다. 예로, 텔넷이나 HTTP, SSH, SMTP, FTP 등등

6계층

Presentation Layer(표현 계층)


표현계층 

프로토콜 : JPEG, MPEG, SMB, AFP

이해할 수 있는 포맷 변환

 운영체계의 한 부분으로 입력 또는 출력되는 데이터를 하나의 표현 형태로 변환한다. 필요한 번역을 수행하여 두 장치가 일관되게 전송 데이터를 서로 이해할 수 있도록 한다. 제어코드나 문자 및 그래픽등의 확장자(JPG, gif, mpg)를 생각하면 쉽다.

5계층

Session Layer

(세션 계층)

 세션계층

프로토콜 : SSH, TLS

응간의 질서 제어

 통신 세션을 구성하는 계층으로, 포트(Port)연결이라고도 할 수 있다. 통신장치 간의 상호작용을 설정하고 유지하며 동기화한다.사용자간의 포트연결(세션)이 유효한지 확인하고 설정한다.

4계층

Transport Layer(전송 계층)

 전송계층

프로토콜 : TCP, UDP

장비 : 게이트 웨이

 전체 메시지를 발신지 대 목적지(종단 대 종단)간 제어와 에러를 관리한다. 패킷들의 전송이 유효한지 확인하고 실패한 패킷은 다시 보내는 등 신뢰성 있는 통신을 보장하며, 머리말에는 세그먼트(segment)가 포함된다. 대표적인 프로토콜은 TCP이다. 

3계층

Network Layer

(네트워크 계층)

네트워크 계층

프로토콜 : IP(v4/v6), ICMP, IGMP,ARP

장비 : 라우터

 다중 네트워크 링크에서 패킷(Packet)을 발신지로부터 목적지로 전달할 책임을 갖는다. 2계층은 노드대노드전달을 감독하는 것이고 3계층은 각 패킷이 시작 시점에서 최종 목적지까지 성공적이고 효과적으로 전달되도록하며, 대표적 프로토콜은 IP이다. 

2계층

Data Link Layer

(데이터 링크 계층)

 데이터링크 계층

프로토콜 : MAC(이더넷), PPP

장비 : 브리지, 스위치

 오류 없이 한 장치에서 다른 장치로 프레임(Frame, 비트의 모음)을 전달하는 역할. 스위치 같은 장비의 경우 MAC주소를 이용하여 정확한 장치로 정보 전달 3계층에서 정보를 받아 주소와 제어정보를 시작(헤더)와 끝(테일)에 추가

1계층

Physical Layer(물리 계층)

 물리계층

프로토콜 : RS-232C

장비 : 허브, 리피터

 물리적 매체를 통해 비트(Bit)흐름을 전송하기 위해 요구되는 기능들을 조정. 케이블, 연결장치 등과 같은 기본적인 물리적 연결기의 전기적 명세를 정하고 네트워크의 두 노드를 물리적으로 연결시켜 주는 신호방식을 다룸



데이터를 전송 할 때 각각의 층마다 인식할 수 있어야 하는 헤더를 붙이게 되는데 이러한 과정을 캡슐화라고 한다.

데이터를 전송하고 전송매체를 통해 전송된 후 1계층 부터 7계층으로 올라가게 되면서 헤더가 벗겨지는데 이러한 과정을 디캡슐레이션이라고 한다. 

각각의 층마다 이렇게 요청과 응답을 하면서 상호작용을 하기 때문에 서버와 클라이언트 관계라고 할 수 있다. 


컴퓨터와 컴퓨터 사이에 데이터 전송을 위해서는 위의 7개의 계층을 -간접적으로 거쳐서 전송이 된다.

7개의 계층으로 나눈 이유는, 각 계층에 대한 캡술화와 은닉이 가능하기 때문이다. 캡슐화, 은닉에 대해서는 아마도 C++ 을 공부해 본적이 있다면 많이 들어본 개념일건데, 예를들어 서비스 개발자는 Application Layer Prsentation Layer 만 신경쓰면 된다. 실제 어플리케이션 개발자는 Session Layer Transport Layer 정도만 신경쓰면 될것이다. Network Layer 계층 아래는 운영체제(:12)가 알아서 챙겨주므로 거의 신경쓸 필요가 없다. 마찬가지로 하드웨어를 만드는 사람은 Physical Layer 만 신경쓰면 되며, 그위의 계층에 대해서는 신경쓸필요가 없다.(물론 개발자가 Application Layer Presentation Layer 까지 몽땅 신경써서 개발하는 경우도 있지만 - 사실은 거의 대부분이겠지만)

OSI를 이렇듯 계층별로 나눔으로써, 각 계층에서 필요한 부분만을 개발자들이 신경쓰게 되고 통신서비스 개발시간을 줄일수 있도록 도와준다.


TCP/IP 4계층

TCP/IP 계층은 OSI 7계층을 더 단순화 시켜서 4개의 계층(Layer)로 만들어서 사용한다.

1) Application Layer 이 계층은 네트웍을 사용하는 응용프로그램(FTP, Telnet, SMTP) 등으로 이루어지며,

OSI 계층의 Application Layer Presentation Layer 를 모두 포함한다.

2) Transport Layer 계층의 이름에서 알수 있듯이, 도착을 원하는 시스템까지 데이타를 전송하기 위한 일을 하는 게층이다. OSI 모델의 Session Layer Transport Layer 를 포함하고 있으며, 각각의 시스템을 연결하고, TCP 프로토콜을 이용하여 데이타를 전송한다. 

3) Internet Layer 데이타를 정의하고 데이타의 경로를 배정하는일(라우팅)을 담당한다. 데이타를 정확히 라우팅 하기 위해서 IP프로토콜을 사용한다. OSI Network Layer Data Link Layer 를 포함한다.

4) Physical Layer 물리적 계층 즉 이더넷 카드와 같은 하드웨어를 말한다


참조

http://beansberries.tistory.com/44



'네트워크' 카테고리의 다른 글

DNS서버  (0) 2015.08.08
TCP 흐름제어 혼잡제어  (0) 2015.08.08
TCP와 UDP차이  (0) 2015.08.08
네트워크 데이터 전송되는 과정  (0) 2015.08.08
TCP가 필요한 이유  (0) 2015.08.08
Posted by slender ankles
,

LAN과 WAN

LAN Local Area Network 의 줄임말로 우리나라 말로 풀어쓰자면 지역내트웍(근거리 통신망) 이며 WAN Wide Area Network 의 줄임말로 광역네트웍(원거리 통신망) 으로 해석할수 있을것이다. 

LAN 은 지역적으로 가까운 컴퓨터가 서로 연결(Network)된 상태를 말하며 WAN은 지역적으로 멀리떨어진 컴퓨터가 서로 연결 된 상태를 말한다. 다음의 그림은 이러한 LANWAN의 구성을 보여주는 가장 단적인 그림이다.



HOST HOST 그리고 HOST Router 는 다양한 종류와 다양한 품질을 가지는 네트웍연결 회선으로 연결될수 있다(광케이블, 구리선, 인공위성등...). 통화품질이 다르다는 것은 데이타를 보내는중 데이타 손상이 일어날수도 있으며, 데이타의 순서가 뒤바뀔수도 있다는걸 의미한다.


데이타의 순서가 뒤바뀔수 있는 이유는, 패킷이 전달되는데 하나의 고정된 전달 경로만을 이용하지 않고 임의의 경로를 사용하기 때문으로 각경로를 구성하는 회선의 품질이 다르게되면 먼저 보내어진 패킷이라도 나중에 보내어진 패킷보다 더 느리게 도착하는 문제가 생길 수 있다. 예를들어, 구리선으로 전달되는 패킷은 인공위성이나 광케이블로 전달된 패킷보다 아무래도 느리게 움직일 것이다.


TCP/IP는 이러한 연결된 상태에서 서로 올바른 통신을 하도록 도와준다. 정확히 말하자면 TCP가 올바른 통신을 하도록 도와주는 기능을 가지고 있으며, IP는 이러한 기능없이 오로지 TCP 패킷을 전송하는 일만을 한다.

 

올바른 통신을 위해 TCP가 가지고 있는 기능은

1) 패킷이 빠졌을경우, 재전송을 요청하는 기능

2) 패킷에 일련번호를 줌으로써, 서로 다르게 도착될지도 모르는 패킷의 순서를 재조합하는 기능

 


 

'네트워크' 카테고리의 다른 글

DNS서버  (0) 2015.08.08
TCP 흐름제어 혼잡제어  (0) 2015.08.08
TCP와 UDP차이  (0) 2015.08.08
네트워크 데이터 전송되는 과정  (0) 2015.08.08
OSI 7계층과 TCP/IP 4계층  (0) 2015.08.08
Posted by slender ankles
,