OSI7 Layer , TCP/IP

2017. 4. 22. 18:19NetworkHacking/Network

[1] Protocol 

- 프로토콜이란 컴퓨터나 네트워크 장비가 서로 통신하기 위해 정해놓은 약속 및 규약


[2] TCP/IP 

- TCP/IP 는 가장최근에 발명된 컴퓨터와 컴퓨터간의 지역네트워크(LAN) 혹은 광역네트워크(WAN)에서 원할한 통신을 가능하도록 하기 위한 통신규약이다

- 가장 인기있는 인터넷 서비스인 WWW, EMAIL, TELNET, FTP등 대부분이 TCP/IP 기반에서 만들어져있다.

- 인터넷으로 연결된 수많은 컴퓨터와 통신을 위해서 TCP/IP를 선택한 이유는 그 개방성에 있다.

- 즉 하드웨어, 운영체제, 접속매체에 관계없이 동작할수 있다는점 때문에, 인터넷 통신을 위한 핵심으로 선택되었다.


#1    TCP ( Transmission Control Protocol )

- 서버와 클라이언트 간에 데이터를 신뢰성 있게 전달하기 위해서 만들어진 프로토콜이다.

- 데이터가 네트워크 선로를 통해서 전달되는 과정에서 손실되거나 순서가 바뀔 수 있는데 TCP는 이를 교정해준다.

- 데이터를 전송하기 전에 데이터 전송을 위한 연결을 만들어주는 연결지향 프로토콜이다.

- 주요기능 

① 패킷이 빠졌을 경우 재전송해준다

② 패킷에 일련번호를 줌으로써, 패킷의 순서가 뒤바뀌었을 경우 재조합 해준다

#2 IP ( Internet Protocol )

- 컴퓨터와 컴퓨터간의 데이터 패킷을 전송하기 위해서는 각 node에 주소를 필요로한다.

- IP는 4바이트로 이루어진 주소번호 IP Address를 사용해 각 node를 구분한다.

ex ) "192.168.100.100" 

=> 이를 인식하기 쉽게 www.tistory.com 같은 도메인명을 지정하는  Domain Name 서비스가 있다


- TCP/IP프로토콜은 4가지 계층으로 나누어진다.

① Application Layer

② Transport Layer 

③ Internet Layer 

④ Network Layer


< TCP/IP 4계층 데이터 전송 방식 중 WWW >


- WWW이란 World Wide Web 서비스이고, HTTP( HyperText Transport Protocol) 프로토콜을 사용한다.

- 각 계층은 독립적으로 각각의 상대 계층끼리만 통신한다


- 4계층의 작동 원리

① 사용자는 브라우저에서 URL입력을 통해 웹페이지를 요청한다

② 사용자의 요청은 인터넷상에서 전달되기 용이한 패킷 TCP패킷으로 만들어진다

③ 이것은 다시 인터넷 상에서 원하는 주소로 이동할 수 있도록 IP패킷으로 다시 만들어진다

④ Internet Layer에서 도착지가 어디인지 판단 ( IP주소를 기반으로해서 )

⑤ TransPort Layer에서 TCP프로토콜을 사용해 Application Layer 로 보낸다

⑥ Application Layer에서 HTTP,POP3 등을 사용해 사용자 화면에 요청한 정보를 뿌린다



[3] OSI7 Layer

- Open System Interconnection 7 

- 기종이 다른 컴퓨터간의 통신 시 네트워크 구조에 상관없이 개방형 통신을 할 수 있도록 국제표준화기구에서 개발한 모델

- 네트워크를 이루는 구성요소들을 계층적 방법으로 나누고 각 계층의 표준을 정한 것




# 1계층 : 물리 층 ( Physical Link )

- 실제로 장치들을 연결하기 위한 물리적인 사항들


# 2계층 : 데이터 링크 층 ( Date Link Layer )

- 두 지점 간의 신뢰성 있는 데이터의 전송 ( 맥주소를 이용 )

- Physical Layer를 변환하고 노드간의 전달( Node to Node )을 가능하게 한다

- Network Layer에서 내려온 packet에 Header와 Trailer를 추가 -> "Frame" 형태로 만든다

- 대표적인 장비로 Switch가 있다


# 3계층 : 네트워크 층 ( Network Layer )

- Packet(data)을 최종 목적지로 전달하는 역할 ( End to End )

- 여러 개의 지점을 거칠 때 경로를 찾는다 ( IP주소를 이용 )

- 라우터의 라우팅 -> 최종 목적지로의 경로 탐색 ( 최적의 경로 )


# 4계층 : 전송 층 ( Transport Layer )

- 양 끝단의 사용자들이 송수신에 있어서의 신뢰성 보장

- 프로세스 간의 전송 ( Process to Process )을 위해서 세션 계층에서 받은 데이터를 패킷 단위로 분할하여 네트워크 층으로 전송한다

- TCP : data전송 이전에 연결 설정을 맺는 형태로써 신뢰성있는 data의 전송을 보장한다

- UDP : 연결설정이 없어 빠른 전송 속도를 갖지만, 목적지에 정확한 전달은 보장할 수 없다


# 5계층 : 세션 층 ( Session Layer )

- 양 끝단의 프로세스가 통신을 관리하기 위한 방법 제공

- 프로세스 사이의 접속을 설정, 유지, 종료 시켜주거나 통신 장치들간의 설정을 유지하며 동기화한다

- 데이터의 단위를 전송 계층으로 전송할 순서를 결정하고 데이터에 대한 점검 및 복구를 위해 동기화한 위치제공


# 6계층 : 표현 층 ( Expression Layer )

- 인코딩 및 데이터의 형식 차이 조정 ( 표현 방식 관리 )

- 사용자가 입력한 데이터를 network를 통해 전송 가능한 형태의 data로 변환하는 기능

- data의 압축과 암호화 기능도 제공한다


# 7계층 : 응용층 ( Application Layer )

- 응용 프로그램에서 사용자 인터페이스 및 서비스를 제공



[4] 상위계층과 하위계층


- 상위 계층

- 7계층 Application Layer

- 데이터를 생성하는 목적으로 사용자에게 인터페이스와 네트워크 서비스를 제공한다

- 네트워크의 종류에는 인터넷 웹에서 사용하는 HTTP , 파일을 전송할 때 사용하는 FTP , 원격 접속에 사용되는 Telnet 등등 이있다

- 6계층 Presentation Layer

- 7계층에서 만들어진 데이터를 컴퓨터가 인식 할 수 있도록 데이터 표현 방식을 알려준다

- 암호화와 압축화를 지원한다

- 5계층 Session Layer

- 프로그램간에 또는 네트워크 간에 연결을 맺거나 유지, 연결상태를 담당한다




- 하위 계층

- 4계층 Transport Layer

- 데이터 전송 방식을 결정 -> TCP or UDP

- 3계층 Network Layer

- IP주소를 기반으로 출발지에서 목적지까지 가는 데이터 경로 결정

- 2계층 DateLink Layer

- MAC주소를 기반으로 노드에서 노드로의 데이터 전송 형태 결정

- 1계층 Physical Layer

- 전기적인 신호로써 전송로를 통해 목적지까지 실질적인 데이터를 전달한다


[5] TCP/IP 와 OSI7


Application Layer                Application Layer

Presentation Layer              Application Layer

--------------------------------------------------

Session Layer                    Transport Layer

Transport Layer                  Transport Layer

--------------------------------------------------

Network Layer                   Internet Layer

DataLink Layer                   Internet Layer

--------------------------------------------------

Physical Layer                    Network Interface