2017. 4. 22. 18:19ㆍNetworkHacking/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
'NetworkHacking > Network' 카테고리의 다른 글
메서드를 활용한 계층별 헤더 분석 (0) | 2017.06.17 |
---|---|
스캔 프로그래밍 / 계층별 헤더 프로그래밍 (0) | 2017.06.14 |
TCP통신 파이썬 소켓 프로그래밍 (0) | 2017.06.12 |
UDP통신 파이썬 소켓 프로그래밍 (0) | 2017.06.12 |
네트워크해킹 실습환경 구축 (0) | 2017.06.08 |