// 불펌스크립트시작 // 불펌스크립트 끝

Nmap 사용법

# nmap [1.스캔유형] [2.옵션] [호스트(ip)]


1. 스캔 유형

-sS : TCP SYN 스캔(스텔스 스캔)

-sT : TCP 연결을 사용한 포트스캔

-sP : Ping을 이용한 스캔

-sA : ACK 패킷에 대한 TTL값을 분석한다.(방화벽 규칙상태 확인시 사용)

-sR : RPC를 이용하여 포트를 스캔한다.

-sW : 윈도우 스캔은 ACK 스캔과 같은데 특정 장치에 대해 열린, 닫힌 포트를 구별한다.

-sI : Idel 스캔을 가장 은밀한 스캔, 느리고 복잡하다.

-sU : UDP 포트스캔

-sF : FIN 패킷을 이용하여 스캔한다.

-sX : Xmas 패킷을 이용하여 스캔한다.

-sN : Null 패킷을 이용하여 스캔한다.


2. 옵션

2-1. 포트 옵션

-p 22 : 22번 포트 스캔

-p (service) : 서비스 명으로 포트스캔

-p 20, 40, 80 : 20, 40, 80 포트스캔

-p 1-1023 : 1~1023 포트스캔, 범위로 지정


2-2 output 옵션

-v : 출력을 자세하게

-w : -v보다 더 자세하게

-oN <File명> : 일반 파일 형식으로 출력

-oX <File명> : XML 파일 형식으로 출력


2-3. 기타옵션

-O : 대상 호스트 운영체제 스캔

-PN : 호스트가 살아있는지 ping을 하지 않음으로 log 파일에 기록될 가능성을 줄인다.


2-4. 핑스캔

-sP : 핑 스캔(ICMP) 사용, 내부단은 ARP 요청이 대신함

-sL : 목록 스캔(서버가 살았는지 죽었는지 확인하는 좋은 방법)

-PS : TCP SYN 패킷을 보낸다. (SYN -> SYN, ACK -> RST)

-PA : TCP ACK 패킷을 보낸다. (위의 -PS와 비슷하지만 방화벽을 우회하기 위해 ACK를 보낸다.)

-PU : UDP핑, 빈UDP패킷을 해당 포트를 보낸다. TCP 필터링을 피해간다.

-PO : IP 프로토콜 핑, ICMP, IGMP, IP패킷을 이용한 스캔

-PR : ARP 스캔


3. 간단 사용 예

nmap -v 192.168.1.* : 해당 호스트의 정보를 조금 더 자세하게 보여준다.

nmap 192.168.1.*/16 : 네트워크 전체를 스캔한다.

nmap -sp 192.168.1.* : 192.168.1.*가 살아있는지 스캔한다.

nmap -sR -p 1-20000 192.168.1.200 : 192.168.1.200의 1번부터 20000까지 RPC 포트를 찾는다.

nmap -sU -PT 192.168.1.200/16 : 192.168.1.200 네트워크 호스트들에게 ACK 보내 응답을 기다리고 열려진 UDP 포트를 찾는다.

1. 프로토콜의 이해

- 인터넷의 기본 프로토콜인 TCP/IP

- 원하는 웹사이트의 웹페이지를 볼 수 있는 HTTP

- 인터넷을 사용하여 이메일을 주고받으려면 SMTP나 POP3 등 프로토콜을 사용

- 인터넷을 이용하여 자료나 파일을 업로드 하거나 다운로드하려면 FTP 등 프로토콜을 사용

- 프로토콜은 네트워크에 연결된 컴퓨터끼리 데이터를 주고 받을 수 있도록 미리 약속한 전송규약(규칙)을 말한다.

 

 

2. 네트워크 계층 프로토콜

- TCP/IP 프로토콜에서 네트워크 계층 프로토콜은 IP, ARP, ICMP, IGMP로 구성

- 전송 계층의 패킷은 세그먼트 형태로 네트워크 계층으로 전송

- 네트워크 계층의 데이터는 IP 헤더가 추가된 IP 데이터그램으로 동작

 

 

▶ ARP

- IP 주소를 받아 네트워크 카드의 물리 주소인 MAC 주소로 변환시켜주는 프로토콜

 

▶ RARP ( Reverse ARP )

- 물리 주소인 MAC 주소를 IP 주소로 변환시켜주는 역주소 변환 프로토콜

 

 

▶ 주소 변환 프로토콜

- 논리적 주소인 IP 주소를 물리적 주소인 MAC 주소로 매핑시켜주는 것이 바로 ARP(Address Resolution Protocol)

 

 

▶ IP 주소와 MAC 주소 매핑

- A 컴퓨터에서 C 컴퓨터로 신호를 전송한다고 가정해 보자.

- 각 호스트의 IP 주소와 MAC 주소가 밑에 그림과 같을 때, IP 주소로 MAC 주소를 매핑시키는 절차는 다음과 같다.

 

 

▶ MAC 주소로 데이터 전송 ( ARP )

- A 호스트에서는 C 호스트의 MAC 주소를 알아내면 다음 과정을 거쳐 A에서 작성한 메세지를 C로 전송 할 수 있다.

 

 

▶ 역주소 변환 프로토콜 ( RARP )

- 호스트 컴퓨터의 물리 주소를 알고 있을 때 IP 주소를 알아내는데 사용한다.

- 컴퓨터를 네트워크에 처음 연결할 때나 디스크가 없는 컴퓨터를 부팅할때 사용하는 프로토콜이다.

- RARP(Reverse Address Resolution Protocol)는 이더넷, 토큰링 FDDI 등 근거리 통신망에서 사용할 수 있다.

 

 

▶ 인터넷 제어 메시지 프로토콜 ( ICMP )

- 네트워크의 호스트나 라우터에서는 예상치 못한 상황이나 오류가 발생할 수 있다.

- 이때 라우터에서 발생한 오류를 송신 측으로 전송하는데 사용하는 프로토콜이 바로 ICMP(Internet Control Message Protocol)이다.

- ICMP는 네트워크 계층에서 상주하지 않고, IP 데이터그램에 캡슐화되어 인터넷으로 전송된다.

 

 

 

- 타입 : ICMP 메시지의 종류를 15개의 서로 다른 값으로 명시한다.

- 코드 : 메시지의 종류를 타입보다 좀 더 세분화하는 추가적인 코드

- 검사합 : 메시지 오류 검사 기능을 한다.

- 나머지 헤더 : 타입과 코드 값에 따라 변경

 

⊙ ICMP 질의 메시지

- ICMP는 질의하거나 응답하여 정보를 구하는데 사용할 수 있으며, 이런 유형을 '질의 메시지'라고 한다.

 

 

⊙ ICMP 오류 메시지

- 가장 일반적인 ICMP 메시지로 전송을 시도할 때나 IP 데이터그램 전송 도중에 발생하는 다양한 형태의 오류 상태를 통보한다.

 

 

▶ 인터넷 그룹 메시지 프로토콜 ( IGMP )

- IGMP(Internet Group Message Protocol)은 인터넷에 연결한 컴퓨터가 멀티캐스트 그룹을 주위의 라우터에 알릴 수 있는 수단을 제공하는 프로토콜이다.

- 멀티캐스팅을 네트워크의 한 호스트 컴퓨터가 미리 지정된 다수의 컴퓨터에 메시지를 보낼 수 있도록 허용한다.

- IGMP는 멀티캐스트 라우터가 주기적으로 서브넷 호스트 컴퓨터 그룹에 IGMP 쿼리 메시지를 전송하고, 호스트 컴퓨터는 IGMP 쿼리 메시지에 응답하며 자신이 가입하려는 그룹 주소 정보를 IGMP 리포트 메시지를 이용하여 라우터에 알려주는 방식으로 동작

 

3. 전송 계층 프로토콜

- 전송 계층에서는 패킷 단위로 데이터를 전송하는데, 이 역할을 수행하는 기본 프로토콜은 전송 제어 프로토콜인 TCP와 사용자 데이터그램 프로토콜인 UDP다.

- 데이터를 송수신할 때 UDP나 TCP 중 어느 것을 사용하든지 상관없으나, UDP는 패킷의 확실한 전송을 보장하지 못하는 반면 TCP는 패킷의 확실한 전송을 보장한다.

 

 

▶ SPX

- NetWare의 연결 지향 프로토콜로, 패킷 접수 통지와 흐름 제어 등 TCP와 유사한 기능을 한다.

- NetWare 서버들은 프린트 큐 사이에서 프린트 서버 및 프린터 간의 통신에 SPX를 주로 사용하며, 인터넷 통신에는 거의 사용하지 않는다.

- SPX 패킷은 42바이트 헤더와 최대 534바이트 데이터로 구성되므로, 크기는 42~576바이트다.

 

 

- 연결제어(Connection Control) : 8비트 크기, 제어 기능 메시지를 포함

- 데이터 스트림 유형(Data Stream Type) : 8비트 크기, 데이터 영역의 정보 데이터 유형이나 연결 종료 과정에서 사용하는 코드 등을 포함

- 송신지 연결 ID(Source Connection ID) : 16비트 크기, 송신 시스템이 현재의 연결을 구별하는데 사용하는 수를 포함

- 수신지 연결 ID(Destination Connection ID) : 16비트 크기, 수신 시스템이 현재의 연결을 구별하는데 사용하는 수를 포함

- 순서 번호(Sequence Number) : 16비트 크기, 일련의 데이터 패킷 중에서 이 패킷의 위치를 지정

- 확인 일련번호(Acknowledgement Number) : 16비트 크기, 수신 시스템이 다음에 받을 패킷의 일련번호를 포함

- 위치 번호(Allocation Number) : 16비트 크기, 수신 시스템이 사용할 수 있는 패킷 수신버퍼의 크기를 나타낸다.

- 데이터(Data) : 응용 프로그램이나 상위 계층 프로토콜이 만든 데이터 정보, 크기는 가변적

 

▶ NCP

- SPX가 프린트 관련 작업을 담당한다면, NCP는 NetWare 클라이언트와 서버 간의 파일공유 등 다양한 네트워크 기능을 담당한다.

- TCP/UDP나 SPX와는 달리 서로 다른 포맷을 사용하며, 최근에는 NCPB라는 NCP 메시지로 메시지 여러 개를 한꺼번에 전송할 수 있는 기능도 구현하고 있다.

- NCP는 이런 여러 포맷의 메시지를 이용하여 클라이언트와 서버 간에 해석기 또는 번역기의 기능을 제공한다.

 

 

- 요청 유형(Request Type) : 16비트 크기, 요청 메시지의 종류를 나타낸다. 서비스 연결생성과 파일 서버 요청 등의 종류가 있다.

- 일련번호(Sequence Number) : 8비트 크기, 현재 메시지의 순서를 나타낸다.

- 연결 번호 로(Connection Number Low) : 8비트 크기, NetWare 서버에 연결된 클라이언트의 수를 나타낸다.

- 작업번호(Task Number) : 8비트의 유일한 값으로, 서비스를 요청하는 작업이 무엇인지를 구분하는 수다. 시스템은 전송받은 응답 메시지를 요청한 작업에 반환할때 이 값을 사용

- 연결 번호 하이(Connection Number High) : 8비트 크기, 현재 사용하지 않는다.

 

4. 응용 계층 프로토콜 및 서비스

▶ 프로토콜

- 응용 계층에서 제공하는 프로토콜에는 TCP 응용 계층 프로토콜인 FTP, HTTP, Telnet, SMTP, POP3, IMAP와 UDP 응용 계층 프로토콜인 DHCP, SNMP 프로토콜이 있다.

 

 

▶ FTP ( TCP 포트 : 21 )

- FTP는 인터넷에서 파일을 전송하는 기본 프로토콜이다.

- 파일을 전송하는 접속 대상인 컴퓨터를 '서버'라고 하며, 접속하려는 사용자의 컴퓨터를 '클라이언트'라고 한다.

- FTP 클라이언트는 자신의 소스 포트로 1023보다 큰 임의의 번호를 사용하며, FTP 서버의 포트 번호는 21을 사용한다.

- FTP 클라이언트 프로그램을 이용하여 접속하려는 서버의 주소(IP나 도메인)을 입력하여 접속이 완료되면 파일을 업로드하거나 다운로드할 수 있다.

 

 

▶ HTTP 서비스 ( TCP 포트 : 80 )

- HTTP는 클라이언트의 웹브라우저가 서버에 웹서비스를 요청(Request)하면, 서버가 적절한 응답(Response)을 하여 클라이언트의 사용자에게 웹페이지를 제공하는 서비스다.

- 즉, HTTP는 서버와 클라이언트 간에 하이퍼텍스트 문서를 송수신하는 프로토콜이다.

 

 

- HTTP 1.0에서는 전송받을 문서에 이미지가 있으면, 문서를 받을 때와 이미지를 받을 때 각각 연결을 설정한다.

 

 

- HTTP 1.1에서는 다시 연결을 설정하지 않고 연결된 소켓을 통해 데이터(이미지)를 전송 받는데, 프로토콜의 수행 성능이 향상된 것을 확인

 

 

▶ SMTP와 POP3, IMAP

- TCP/IP 프로토콜에서는 클라이언트와 메일 서버, 메일 서버와 메일 서버 간에 이메일을 교환하려고 SMTP와 POP3, IMAP를 사용한다.

- 메일 서버 간의 이메일을 SMTP로 교환하며, 메일 서버와 클라이언트 간에는 이메일 전송 과정에 따라 SMTP와 POP3 또는 IMAP를 각각 따로 사용한다.

 

 

⊙ SMTP ( TCP 포트 : 25 )

- 네트워크의 두 메일 서버 간에 이메일을 송수신하는데 사용하는 TCP/IP 프로토콜이다. 응용계층에 속하며, 전송 계층의 TCP에 기반을 둔 프로토콜이다.

- 사용자가 이메일을 메일 서버로 보낼 때는 SMTP를 사용하고, 메일 서버에서 자신의 이메일을 다운로드 할때는 POP3나 IMAP를 사용

 

⊙ POP3 ( TCP 포트 :110 )

- 이메일을 수신하는 표준 프로토콜로, POP의 최신 버전이다.

- 이메일을 수신하고 보관하려고 인터넷 서버에서 사용하는 프로토콜로 TCP/IP의 응용 계층에 속하며, SMTP에 의존한다.

 

 

⊙ IMAP ( TCP 포트 : 143 )

- 이메일을 저장, 복사하는 프로토콜이다.

- POP3처럼 SMTP 프로토콜에 의존하지만, POP3와 달리 IMAP에서는 내 컴퓨터에서 지운 이메일도 서버에 남아 있어 언제 어디서든 이메일을 다시 볼수 있다.

 

 

▶ SNMP ( UDP 포트 : 161 )

- 다른 네트워크 장치를 원격에서 관리할 수 있는 간단한 방법을 제공하는 인터넷 표준 프로토콜이다.

- 이 프로토콜을 적용할 수 있는 네트워크 장치에는 네트워크 카드나 프로그램, 허브나 라우터 같은 네트워크 장치 등이 있다.

- 네트워크를 관리하는 중앙 관리 시스템과 네트워크를 관리하는데 사용하는 개쳬정보인 MIB(Management Information Base)로 구성

- 중앙 관리 시스템은 네트워크를 관리하려고 하나 이상의 MIB를 모니터할 수 있다.

 

▶ DHCP ( UDP 포트 : 67, 68 )

- 네트워크의 각 노드에 유일한 IP 주소를 자동으로 할당하고 관리하는 서비스

- 관리자는 DHCP로 IP 주소를 관리하는 시간과 노력을 크게 줄일 수 있을 뿐만 아니라 IP 주소 할당 과정에서 발생할 수 있는 잠재적인 오류도 줄일 수 있어 네트워크의 효율이 높다.

 

 

- DHCP 서버가 동작하면 클라이언트들은 그 서버에 연결하여 유일한 IP 주소를 제공받는데, 그 과정은 다음과 같다.

 

 

▶ Ping 서비스

- TCP/IP에서 널리 사용하는 서비스 중 하나로, 모든 TCP/IP 설치에 포함되어 있다.

- 네트워크에 있는 다른 시스템에서 TCP/IP가 정상적으로 동작하는지 알려주는 프로그램

- ICMP를 사용하여 일련의 에코 메시지를 만들어 지정한 컴퓨터 이름이나 IP 주소 시스템에 전송한다.

- 이때 두 시스템 간에 에코 메시지를 주고받는 과정을 '핑잉(Pinging)'이라고 한다.

- 호스트의 IP 주소가 192.168.0.7이고, 게이트웨이 주소가 192.168.0.88이며, 수신지 IP주소가 58.142.193.69일 때 다음 과정을 거치면 어디에서 문제가 발생했는지 확인할수 있다.

① ping 127.0.0.1 또는 ping localhost

② ping 192.168.0.7

③ ping 192.168.0.88

④ ping 58.142.193.69

 

▶ Telnet ( TCP 포트 : 23 )

- 인터넷을 이용하여 내 컴퓨터에서 상대방의 컴퓨터를 원격으로 제어할 수 있도록 해주는 명령 라인 클라이언트/서버 프로그램

 

1. TCP / IP의 이해

- 네트워크는 서로 다른 기종의 컴퓨터로 구성되어 있어 각 네트워크 간에 공통으로 사용할 수 있는 프로토콜의 필요성이 대두되었다.

- 이에 따라 인터넷에서 컴퓨터 간의 통신이 가능하도록 표준화하여 채택한 통신규약이 바로 TCP/IP이다.

- 네트워크와 네트워크를 연결하는데 사용하는 프로토콜인 TCP/IP는 전송 제어 프로토콜 ( TCP, Transmission Control Protocol)과 인터넷 프로토콜 ( IP, Internet Protocol )을 의미한다.

- 인터넷에서 사용하는 응응 프로그램은 대부분 이 TCP/IP 프로토콜을 이용하여 데이터를 교환한다.

 

 

▶ 네트워크 접속 계층

- 모든 표준 및 임의 네트워크를 지원할 수 있도록 하고 있다.

- 이더넷, 802.11x, MAC/LLC, SLIP, PPP 등

- 송신 측 컴퓨터에서는 상위 계층에서 전달받은 패킷에 물리적 주소인 MAC 주소 정보가 있는 헤더를 추가하여 프레임을 만든 후 그 프레임을 하위 계층인 물리 계층에 전달한다.

- 수신 측 컴퓨터에서는 데이터 링크 계층에서 추가한 헤더를 제거하여 상위 계층인 네트워크 계층으로 전달한다.

 

▶ 네트워크 계층

- 인터넷 계층이라고도 하며, 네트워크의 패킷 전송을 제어한다.

- 데이터를 전송할 때 결로는 네트워크 계층에서 선택하는데, TCP/IP 프로토콜에는 IP와 ARP, ICMP, IGMP가 있다.

- TCP/IP에서 가장 중요한 프로토콜 중 하나인 IP는 네트워크의 주소 체계를 관리하고, 데이터그램을 정의하며 전송에 필요한 경로를 결정

- 송신 측 컴퓨터에서는 상위 계층에서 전달받은 패킷에 논리적 주소인 IP주소를 포함하는 헤더를 추가하여 하위 계층인 데이터 링크 계층으로 전달한다.

- 수신 측 컴퓨터에서는 하위 계층에서 전달받은 패킷의 헤더 정보를 확인한 후 송신 측 컴퓨터의 네트워크 계층에서 추가한 헤더를 제거하여 상위 계층인 전송 계층으로 전달한다.

 

 

▶ 전송 계층

- 상위 계층에서 볼 때 두 호스트 간의 데이터 전송을 담당하는 계층으로, TCP와 UDP 프로토콜을 사용한다.

- 네트워크 양단의 송수신 호스트 간에 신뢰성 있는 전송 기능을 제공하는 것으로, OSI 참조 모델에서는 세션 계층의 일부와 전송 계층에 해당

- TCP/IP에는 시스템 논리 주소와 포트가 있어 각 상위 계층의 프로세스를 연결하여 통신한다.

- TCP는 전송되는 패킷에 오류와 중복이 없게 하고, 보낸 순서대로 상대편이 받을 수 있도록 신뢰성 있는 데이터 전송을 보장하는 프로토콜

- 신뢰성이 있는 만큼 헤더의 오류코드에 대응할 수 있는 각종 정보가 들어 있다.

 

 

▶ 응용 계층

- TCP/IP 프로토콜의 범위는 응용 계층의 프로토콜까지 포함

- FTP(파일 전송), SMTP(이메일), SNMP(Simple Network Management Protocol : 네트워크 관리 ) 등이 있다.

- TCP/IP 프로토콜을 이용한 응용 프로그램 중에서 사용자가 직접 사용하는 인터넷 메일 프로그램(아웃룩 익스프레스)이나 웹브라우저(인터넷 익스플로러) 등을 응용 계층으로 분류할 수 있다.

 

▶ TCP/IP 주소의 구조

⊙ 물리 주소

- 링크 주소 또는 통신망에서 정의된 노드의 주소, 이더넷 네트워크인터페이스 카드(NIC) 6바이트(48비트) 주소 등을 말한다.

 

⊙ 인터넷 주소

- 인터넷에서는 기존 물리 주소와는 별도로 각 호스트를 식별할 수 있는 유일한 주소를 지정해야 한다.

 

⊙ 포트 주소

- 수신지 컴퓨터까지 전송하려면 IP 주소와 물리 주소가 필요하다.

- 인터넷 통신의 최종 목적은 한 프로세스가 다른 프로세스와 통신할 수 있도록 하는 것이다.

 

 

 

2. IP ( Internet Protocol )

▶ 인터넷에 연결된 모든 컴퓨터에는 고유의 주소가 부여되는데, 이를 'IP주소'라고 한다.

- 현재 사용하는 IP 주소 체계는 IP Ver. 4이다

- IP 주소는 8비트 크기의 필드 네 개를 모아서 구성한 32비트(4바이트) 논리 주소다.

- xxx.xxx.xxx.xxx, 즉 163.152.19.114처럼 .(점)으로 구분한 10진수 형태 네 개로 구성된다.

- 한 바이트가 가질 수 있는 10진수는 0~255이므로, IP 주소의 값을 0.0.0.0에서 255.255.255.255까지다.

 

 

▶ 일반 우편 주소를 시, 동, 번지 등으로 구분하는 것처럼 IP주소도 네트워크 주소(Net ID)와 호스트 주소(Host ID)로 구분한다.

- 네트워크 주소는 전체 네트워크를 좀 더 작은 네트워크로 분할하여 각 호스트가 속한 네트워크를 대표한다.

- 네트워크 주소는 8비트, 16비트, 24비트 크기로 분류한다.

- 호스트 주소는 네트워크 주소로 표현하는 네트워크 내부에서 각 호스트의 주소를 표현하는 역할을 하며, 전체 32비트에서 네트워크 주소를 제외한 나머지에 해당한다.

 

 

 

▶ IP 주소 체계

- IP주소를 효율적으로 배정하려고 클래스라는 개념을 도입했다. 클래스에는 A, B, C, D, E 다섯 종류가 있다.

- 이 중 D클래스는 IP 멀티 캐스팅용, E 클래스는 자원을 확보하려고 예비용으로 분류해 놓았기 때문에 실제 사용하는 것은 A, B, C 클래스 세 종류 뿐이다.

- 클래스는 IP 주소의 맨 처음 바이트의

- 시작 1비트가 0으로 시작하면 A클래스

- 시작 2비트가 10으로 시작하면 B클래스

- 시작 3비트가 110으로 시작하면 C클래스

- 시작 4비트가 1110으로 시작하면 D클래스

- 시작 4비트가 1111로 시작하면 E클래스

 

⊙ A 클래스

- 네트워크 주소로 8비트, 호스트 주소로 24비트를 사용한다.

- 네트워크 주소의 가장 왼쪽에 해당하는 비트는 0으로 고정되어 있는데, 이것이 A클래스를 구분하는데 사용하는 식별자

- 첫 번째 바이트의 첫 비트가 0으로 시작하기 때문에 맨 처음 숫자는 0~127로 시작

- 범위는 0.0.0.0에서 127.255.255.255까지가 된다.

- 0.0.0.0은 사용하지 않는 주소

- 127.x.x.x는 시스템 루프백 주소(가상으로 할당한 인터넷 주소)라서 사용하지 않는 주소

- 실제로 사용하는 주소는 1~126까지로, 1.0.0.0~126.255.255.255가 된다.

- 가장 왼쪽 비트가 0이며, 첫번째 옥텟이 Net ID(7비트)

- 27=128 중 126개 사용 (두 개는 특수 목적에 사용)

- 224=16,777,216 중 호스트 16,777,214개 사용(Host ID가 모두 0인 것과 모두 1인 것은 특별한 의미가 있는 주소)

 

⊙ B 클래스

- 구분하는데 사용하는 식별자는 10으로 시작

- 네트워크 주소에 16비트, 호스트 주소에 16비트를 배정하는 클래스

- IP 주소의 시작이 128~191로 시작하고, 기본 네트워크 마스트는 255.255.0.0이다.

- 네트워크 주소는 128.0.0.0~191.255.0.0, 호스트 주소는 2바이트로 호스트 65,534개를 구성할 수 있다.

- 이것은 A클래스와 동일하게 네트워크 주소(0.0)와 브로드캐스트 주소(255.255)를 제외한 호스트의 수다.

- IP주소가 128.1.1.1인 호스트는 128.1.0.0 네트워크에 속하며, 호스트 주소는 1.1이다.

- 가장 왼쪽 2비트가 10이며, 옥텟이 두 개인 Net ID(14비트)

- 214=16,384개 사용 가능

- Host ID로 16비트 사용

- 216=65,536개 중 호스트(라우터) 65,534개 사용 가능(두 개는 특별한 주소)

 

⊙ C 클래스

- 소규모 네트워크에서 가장 많이 사용하는 클래스로 C클래스를 구분하는데 사용하는 식별자는 110으로 시작

- 호스트 배정에 총 8비트를 사용할 수 있으므로 호스트를 최대 254개 사용할 수 있다.

- IP주소의 시작이 192~223으로 시작하며, 기본 네트워크 마스크는 255.255.255.0이다.

- 네트워크 주소는 192.0.0.0~223.255.255.0, 호스트 주소는 1바이트로 호스트 주소는 254개 사용할 수 있다.(0, 255 제외)

- IP주소가 200.100.100.100인 호스트는 200.100.100 네트워크에 속하며, 호스트 주소는 100이다.

- 가장 왼쪽 3비트가 110이며, 옥텟이 세 개인 Net ID(21비트)

- 221=네트워크를 2,097,152개 가질 수 있음

- Host ID로 8비트 사용(28=256)

- 호스트(라우터)를 254개 가질 수 있음.

 

 

⊙ D 클래스

- IP 주소는 224~239까지로 시작하며, 멀티캐스트(데이터 수신 대상이 네트워크에 연결된 일부 컴퓨터) 용도로 사용한다.

⊙ E 클래스

- IP 주소는 240~255까지로 시작하며, 미래에 사용하려고 남겨놓은 주소다.

- 255.255.255.255는 전체 컴퓨터에 대한 브로드캐스트(네트워크에 연결된 전체 컴퓨터를 수신 대상으로 하는) 주소로 사용한다.

 

 

 

3. IP 프로토콜

- IP는 TCP/IP 프로토콜 계층의 네트워크 계층에서 사용하는 프로토콜이다.

- TCP는 오류가 발생하면 해당 정보를 재전송할 수 있는 신뢰성 있는 연결 지향형 프로토콜

- IP는 간단한 오류 검사 기능만 있어 신뢰성이 보장되지 않는 비연결형 데이터 그램 프로토콜

- IP는 패킷을 수신지까지 최선을 다해 전송하지만, 전송 완료까지는 보장하지 않는다.

 

▶ 연결형 서비스 ( Connection-Oriented )

- 송수신자 사이에 논리적 연결을 확립하고 데이터를 전송하는 방법

- 연결형은 전송 계층에 해당되는 기능으로, 앞에서 살펴본 TCP의 방식

 

▶ 비연결형 서비스 ( Connetionless )

- 송수신자 간에 논리적인 연결을 확립하지 않은 채 데이터를 전송하는 방법

- 비연결형 서비스는 UDP 방식이며, 신뢰성 있는 데이터 전송을 할 수 없어 상위 계층인 TCP 등에서 신뢰성을 보장해야한다.

 

- 네트워크에서 송신 측이 동일한 수신측으로 전송하는 데이터그램이 다양한 경로를 통해 도착할 수 있음을 보여준다.

 

 

▶ 데이터그램의 구조

- IP계층의 패킷을 데이터그램라고 함

- 가변 길이이며, 헤더와 데이터 부분으로 구성

- 헤더는 크기가 20~60바이트고, 패킷을 전달하는데 필요한 모든 정보를 포함

 

 

- 버전 : IP 헤더 안에 있는 버전(Version) 번호 필드(4비트)는 인터넷 버전을 규정하며, 현재 버전은 4

- 헤더 길이 : IP 헤더 안에 있는 다음 4비트 필드는 데이터그램 헤더의 전체 길이를 4바이트 단위로 나타낸다.

- 서비스 유형 : 8비트 필드는 라우터가 처리해야 하는 데이터그램 규정을 나타낸다.

 

 

▶ TOS

- IP 데이터그램을 전달하는 특정 서비스 품질(Quality of Service) 기능을 제공하려고 고안된 4비트의 서브필드로 각 비트는 0과 1의 값을 가질 수 있는데, 오직 한 비트만 1의 값을 가진다.

- 서비스 유형에 따라 지연, 처리량, 신뢰성, 비용 등을 설정할 수 있으며, 상호 베타적이어서 하나의 갑이 1로 설정되면 나머지 값은 무조건 0

 

 

▶ 검사합 ( Checksum )

- TCP/IP 프로토콜에서 많이 사용하는 오류 제어 방법

- 패킷 전송 중 발생하는 헤더 부분의 오류를 검사

- 송신자가 전송하는 패킷에 검사합을 함께 보내면 수신자는 패킷과 함께 검사합을 계산해 조건을 만족하면 패킷을 받고, 그렇지 않으면 패킷을 폐기한다.

 

 

▶ IPv6 주소 체계

- 16바이트(128비트)로 구성

- 주소를 읽기 쉽도록 16진수 콜론으로 표현

- 128비트는 길이가 2바이트인 영역 여덟 개로 나뉘며, 16진수 표기법에서 2바이트는 16진수 네 개로 표현. 전체적으로 16진수 32개로 표현

 

 

- 128비트 IP주소는 단축해서 표현할 수 있는데, 콜론 두 개 사이에 있는 수(섹션) 네개에서 앞쪽은 0은 생략할 수 있다.

- 이런 생략 방식을 이용하면 0056은 56으로, 000D는 D로 0000은 0으로표기할 수 있다.

 

 

- 0으로만 구성된 색션은 0을 모두 지우고, 콜론 두 개로 대치할 수 있는데, 주소당 한 번만 사용된다.

- 섹션 두 개에 0이 있다면, 그 중 주소 한개에서만 생략 방식을 이용할 수 있다.

 

 

▶ IPv6 데이터그램

- IPv6의 각 패킷은 기본 헤더와 페이로드(Payload)로 구성

- 페이로드는 선택적인 확장 헤더들과 상위 계층의 데이터로 구성

- 기본 헤더는 40바이트며, 페이로드는 65,535바이트까지 차지한다.

 

 

▶ 기본 헤더의 종류는 다음과 같다

⊙ 버전 : 4비트

- IP 버전을 나타내며, 값은 6이다.

 

⊙ 우선순위 : 4비트

- 동시 접속을 대한 패킷의 우선순위를 규정

 

⊙ 흐름 레이블 : 24비트

- 데이터의 특정 흐름을 다룰 수 있도록 설계된 것이다.

 

⊙ 페이로드 길이(Payload Length) : 16비트

- 기본 헤더를 제외한 IP 데이터그램의 전체 길이를 규정

 

⊙ 다음 헤더(Next Header) : 8비트

- 데이터그램에서 기본 헤더의 다음 헤더를 정의

 

 

▶ IPv4와 IPv6의 패킷 헤더와 비교

- IPv6은 헤더의 길이가 고정되어 있어 헤더 길이 필드가 제거되고 서비스 유형 필드도 제거된다.

- 그 기능을 우선순위와 흐름 레이블 필드가 대체한다.

- 총 길이 필드 또한 제거되어 페이로드 길이 필드로 대체된다.

- 식별, 플래그, 옵션 필드는 기본 헤더에서 제거되고, 이 필드는 확장 헤더에 포함된다.

 

 

▶ 전환 기술(IPv4에서 IPv6으로)

- IPv4 네트워크망과 IPv6 네트워크망 간에 주소 변환기를 이용하여 IP를 상호 연동

- 게이트웨이를 이용하여 IPv4와 IPv6 주소 체계를 호환하는 기술

- 이 기술은 IPv4 클라이언트가 IPv6 서버에 접속하거나 반대로 IPv6 클라이언트가 IPv4 서버에 접속할 때 사용한다.

 

▶ 응용 계층 게이트웨이 방식(응용 계층)

- 응용 계층 게이트웨이 방식은 변환(트랜잭션) 서비스를 위한 ALG(응용 수준 게이트웨이), 웹사이트 정보를 숨기고 캐시 매커니즘으로 서비스의 성능을 향상시키는데 사용한다.

- ALG가 두 프로토콜(IPv4와 IPv6)을 동시에 지원할 떄는 두 프로토콜 간 변환 메커니즘으로 사용할 수 있다.

- 응용 계층 게이트웨이 방식은 응용 계층에서 변환되며, 각 서비스는 IPv4와 IPv6에 밀폐되어 있어 FTP, DNS, Telnet 서비스 등 응용 프로토콜에 내장된 주소를 변환하는데 용이하다.

- 하지만 각 서비스를 위한 ALG는 IPv4와 IPv6에서 모두 실행되어야만 한다.

 

▶ 전송 계층 릴레이 방식(전송 계층)

- TCP/UDP의 IPv4 세션과 TCP/UDP의 IPv6 세션을 중간에서 릴레이한다.

- 송 계층 릴레이 방식에서 TCP 릴레이 서버는 여러 동작 과정을 거쳐 전송계층에서 전환된다.

① TCP 요청이 릴레이 서버에 도착하면, 네트워크 계층은 수신지가 서버의 주소가 아니어도 TCP 요청을 TCP 계층으로 전송

② 서버는 실제 수신지로 TCP 연결을 하나 더 생성한 후 연결이 두 개 구축되면, 서버는 이연결 중 하나에서 데이터를 읽어 나머지 하나의 연결에 기록한다.

 

 

▶ 헤더 변환 방식(네트워크 계층)

- 네트워크 계층(IP)에서 IPv6 패킷 해더를 IPv4 패킷 헤더로 또는 IPv4 패킷 헤더를 IPv6 패킷 헤더로 변환하는 방식

- IPv4를 사용할 때는 헤더 변환이 필요

- 헤더 변환은 IP 계층에서 변환을 의미

- IPv4 패킷을 IPv6 또는 그 반대로 헤더를 변환하는 것을 SIIT(Stateless IP/ICMP Translation)에서 정의한다.

 

 

4. TCP(전송 제어 프로토콜)

▶ TCP 연결형 데이터 서비스

- 송신 측 TCP 포트에서 수신 측 TCP 포트로 바이트의 스트림을 전송하는 연결형 데이터 전달 서비스를 제공

- TCP 사용자가 연결을 요청하면, TCP 프로토콜과 수신 측 TCP 사용자가 연결 설정에 동의하여 TCP 연결을 설정

- 연결 지향형 프로토콜은 송신 측 컴퓨터와 수신 측 컴퓨터와 수신 측 컴퓨터가 데이터를 전송하기 전에 먼저 데이터를 송수신할 수 있는 연결 통로를 만들고 데이터를 전송하는 프로토콜을 말한다.

 

 

▶ 포트 번호

- 포트는 TCP가 상위 계층으로 데이터를 전달하거나 상위 계층에서 TCP로 데이터를 전달할 때 상호 간에 사용하는 데이터의 이동 통로

- 통신할 때 파일을 동시에 다운로드 할 수 있는 이유는 TCP 프로토콜이 포트를 여러 개 사용해서 상위 계층의 프로그램과 각각 따로 통신

- TCP 포트 범위는 0~65,534까지의 정수

 

 

- 웹서비스나 이메일 서비스 등은 클라이언트가 편리하게 접속할 수 있도록 해당 서비스에 미리 할당해 놓은 포트 번호를 사용

- 주요 인터넷 서비스에 정해 놓은 포트 번호를 '잘 알려진 포트 번호'라고 하며 1~1023까지 할당

 

 

▶ TCP 세그먼트

- 전송을 위해 바이트 스트림을 세그먼트 단위로 나눈다.

- 세그먼트란 TCP를 이용하여 두 장치 간에 전달하는 데이터들의 단위를 말한다.

 

 

 

▶ 송신지 포트 번호 ( Source Port Address )

- 세그먼트를 전송하는 호스트에 있는 응용 프로그램의 포트 번호

- 16비트의 포트 번호는 0~65,535 범위 내에 있을 수 있다.

 

▶ 수신지 포트 번호 ( Destination Port Address )

- 수신지 호스트에서 수행하는 프로세스가 사용하는  포트 번호

- 클라이언트가 수신지 호스트를 요청하는 서버라면 대부분은 잘 알려진 포트 번호

 

▶ 순서 번호 ( Sequence Number )

- 세그먼트에 포함된 데이터의 첫 번째 바이트에 부여된 것

- 32비트 부호 없는 번호

- 0부터 시작해서 232-1을 초과하면 다시 0으로 되돌아온다.

- TCP는 신뢰성 있는 연결을 보장하려고 전송하는 각 바이트마다 번호를 부여하는데, 순서 번호는 수신지 TCP에 세그먼트의 첫 번째 바이트가 순서 번호에 해당하는 바이트라는 것을 알려준다.

 

▶ 확인 응답 번호 ( Acknowledgement Number )

- 세그먼트를 수신하는 노드가 상대편 노드에서 수신하려는 바이트의 번호

- 이 번호는 성공적으로 수신한 마지막 바이트의 순서 번호+1이다.

 

▶ 헤더 길이

- TCP 헤더 길이를 4바이트 워드 값으로 나타내며 헤더의 길이는 20~60바이트가 될 수 있다.

- 이 필드 값은 5x4=20에서 15x4=60 사이의 값이 될 수 있는 것이다.

 

▶ 예약 ( Reserved )

- 나중에 사용하려고 예약된 6비트 필드

 

▶ 플래그

- 프로토콜의 동작을 제어하는데 사용하는 비트 단위의 플래그

 

▶ 윈도우 크기 ( Window Size )

- 상대방이 유지해야 하는 바이트 단위의 윈도우 크기를 정의

- 필드의 길이가 16비트이기 때문에 윈도우의 최대 크기는ㄴ 65,535바이트

 

▶ 검사합

- 의사 헤드를 포함한 헤드 부분의 오류를 검출하는 검사합 계산이 포함

 

⊙ 상위 계층에서 사용하는 오류 검출 방법인 검사합을 수행하는 과정 ( 송신 측에서는 다음 과정을 거친다.)

① 데이터 단위를 각각 n(보통 16)비트인 섹션 m개로 나눈다.

② 모든 섹션은 합을 만들려고 1의 보수를 사용하여 서로 더한다.

③ 합은 보수화되어 검사합이 된다.

④ 검사합의 값을 데이터와 함께 보낸다.

 

⊙ 수신 측에서는 다음 과정을 거친다.

① 데이터 단위를 각각 n비트인 섹션 m개로 나눈다.

② 모든 섹션은 합을 만들려고 1의 보수를 사용하여 서로 더한다.

③ 합은 보수화된다.

④ 결과가 0이면 오류가 없는 것이고, 그렇지 않으면 오류가 발생한 것이다.

 

 

▶ TCP 연결 관리

- 포트 번호만 사용하여 응용 프로그램을 식별하는 UDP와는 달리 TCP는 연결을 사용하여 응용 프로그램을 식별

 

▶ 연결 설정(3-Way 핸드셰이킹)

 

 

▶ 연결 종료

 

 

▶ 확인 응답

- 수신 측에서 데이터를 수신했을때 이 사실을 송신 측에 통보하는 것

- 핸드셰이킹이 해당

- 확인 응답은 ACK(ACKnowledgement)

- 이 응답 확인이 있어야 다음 데이터를 전송할 수 있다.

 

 

- 수신 측에서 데이터를 수신한 후에도 네트워크 문제로 재전송될 때가 있다.

- 이때는 이미 수신한 데이터이므로 재전송한 데이터는 폐기해야 되는데, 순서 번호를 설정하여 구분할 수 있다.

 

 

▶ TCP 흐름 제어

- TCP는 원래의 데이터를 패킷이라는 작은 단위로 분할하여 전송하기 때문에 수신 측의 컴퓨터는 수신한 패킷을 재결합하여 다시 원래의 데이터로 만들어야 한다.

- 패킷을 전송할 때 네트워크 상황에 따라 패킷의 도착 순서가 바뀔 수도 있고, 중간에서 사라지는 패킷을 한 번에 하나씩 송수신하는 것보다 여러 패킷을 한 번에 송수신한 후 수신 확인 신호를 전송하는 것이 훨씬 효율적이다.

- 한 번에 전송하는 패킷의 개수를 ' 윈도우 크기 ' 또는 ' 수신 버퍼의 크기 ' 라고 한다.

- 데이터를 전송할 때 한 번에 전송할 수 있는 전체 패킷의 크기를 ' TCP 윈도우 크기 '라고 하는데, 윈도우 크기가 크면 한번에 여러 패킷을 전송할 수 있다.

 

 

▶ 슬라이딩 윈도우 ( Sliding Window )

- 송신 측 컴퓨터는 윈도우 크기에 따라 1~4번까지 패킷을 전송하고, 수신 측 컴퓨터에서 수신 확인 ACK 신호를 수신하면 ACK 신호에서 요청한 5번 패킷 위치로 송신 윈도우를 오른쪽으로 옮긴다.

- 다시 윈도우 안의 패킷들을 전송하고, 수신 측 컴퓨터에서 ACK 신호를 수신하면 ACK 신호에서 요청한 9번 패킷 위치로 송신 윈도우를 옮김

- 송신 버퍼 역할을 하려고 송신 윈도우를 이동하는 방식

 

 

5. UDP(사용자 데이터그램 프로토콜)

- RFC 768 문서에 정의된 비연결 지향 프로토콜을 말한다.

- TCP(연결 지향 프로토콜)와 달리 패킷이나 흐름 제어, 단편화 및 전송 보장 등의 기능은 제공하지 않는다.

- UDP 헤더는 TCP 헤더에 비해 간단하므로 상대적으로 통신 과부하가 적다.

- UDP 헤더의 크기(8바이트)는 TCP 헤더의 크기(20바이트)보다 작다.

- DNS(Domain Name System), DHCP(Dynamic Host Configuration Protocol), SNMP 등이 있다.

 

 

⊙ 송신지 포트 번호 : 16비트

- 데이터 영역의 데이터 정보를 만든 전송 시스템의 프로세스나 응용 프로그램을 말한다.

- TCP 헤더의 송신지 포트와 같은 기능을 수행한다.

 

⊙ 수신지 포트 번호 : 16비트

- 데이터 영역의 데이터 정보를 처리할 수신 시스템의 프로세스나 응용 프로그램을 말한다.

- TCP 헤더의 송신지 포트와 같은 기능을 수행한다.

 

⊙ 총 길이 : 16비트

- UDP 헤더와 데이터의 길이를 바이트 단위로 표현

- UDP 메시지에 얼마나 많은 데이터 정보가 포함되었는지 나타낸다.

 

⊙ 검사합 : 16비트

- 수신 측에서는 이 정보를 사용하여 UDP 헤더와 데이터 및 IP 헤더의 오류를 검사한다

- UDP 표준에서는 검사합이 선택 사항이며, 이 영역을 사용하지 않으면 UDP 패킷의 영역은 0의 값을 가진다.

 

⊙ 데이터

- 송신지 포트의 응용 계층 프로세스가 만든 데이터 정보

- 크기는 가변적

1. 인터넷 모델

- 인터넷 모델은 계층 4개로 구성

- 하위 계층 3개는 OSI 참조 모델의 하위 4계층 (물리 계층, 데이터 링크 계층, 네트워크 계층, 전송 계층)과 일치

- 응용 계층에서는 OSI 참조 모델의 최상위 3계층 (세션 계층, 표현 계층, 응용 계층)의 역할을 담당

 

 

▶ 응용 계층

- 인터넷 모델의 응용 계층에 포함되어 있는 프로토콜 입곱 개와 프로그램을 원격으로 컴퓨터 자원에 접속하는데 사용

- 응용 프로그램들로 제공되는 서비스는 표현 계층과 세션 계층에서 정의하고 있다.

 

 

- SMTP를 사용한 응용 계층의 예를 보면, 송신 측(1)에서 이메일을 보내면, 메일 서버(2)를 거쳐 수신 측(3)에 이메일을 전송한다.

- 응용계층에서는 네트워크 접근 수단을 제공한다.

 

 

▶ 전송 계층

- TCP와 UDP 프로토콜이 두 개 있다.

 

⊙ TCP ( Transmission Control Protocol )

- 전송 제어 프로토콜

- 송신지에서 수신지까지 문자 스트림을 전송하는데, 두 응용 계층이 서로 대화하는 것을 허용하는 신뢰성 있는 프로토콜

- TCP의 성능은 OSI 참조 모델의 전송 계층보다 뛰어나다.

 

⊙ UDP ( User Datagram Protocol )

- 사용자 데이터그램 프로토콜

- OSI 참조 모델에서 정의하는 전송 계층의 일부 역할을 무시하는 단순한 전송 프로토콜이다.

- UDP는 TCP에 비해 신뢰성이 낮으며, 흐름 제어 및 오류 검출 등의 기능이 없어 패킷을 빠르게 전송해야 하는 응용 계층에서 사용

 

 

- TCP를 사용한 전송 계층의 예를 보면, 송신 측에서 데이터(01001100)을 보내면, TCP의 포트 번호 80번을 이용하여 수신 측으로 데이터를 안전하게 전송한다.

- 전송 계층에서는 송신지에서 수신지까지 메시지 전송 기능을 제공한다.

 

 

▶ 인터넷 계층

- OSI 참조 모델의 네트워크 계층과 비슷하여 '네트워크 계층' 이라고도 한다.

- 몇 가지 프로토콜을 포함하는데, 가장 중요한 프로토콜인 IP ( Internet Protocol : 인터넷 프로토콜 )은 IP 데이터그램이라는 패킷을 만들고, 수신지에 해당 패킷을 전송한다.

 

 

- IP를 사용한 인터넷 계층을 예를 보면, 송신지에서 IP(163.152.19.114)를 사용하여 데이터(01001100)를 보내면, 그 주소를 찾아가는 경로를 설정(라우팅)하고, 수신지(163.152.19.114)로 데이터를 전송한다.

- 송신지에서 수신지까지 논리적 링크를 설정, 라우팅하는 기능을 제공

 

 

▶ 네트워크 접속 계층

- 인터넷 모델은 대부분 하나의 네트워크나 다른 네트워크의 송신지에서 수신지까지 데이터를 주고받는데, 물리 계층과 데이터 링크 계층에서 하는 일은 LAN과 WAN을 연결하여 인터넷을 구성하는 것이다.

 

1. OSI 참조 모델의 개요 ( Open System Interconnection )

- 통신 기술의 도입과 통신 기능의 확장을  쉽게 하려고 프로토콜을 몇 개의 계층으로 나누는 것을 '계층화'라 함.

- 통신 기능을 7계층으로 분류하여 각 계층마다 프로토콜을 규정한 규격을 'OSI' 모델이라고 함.

 

 

2. OSI 참조 모델의 데이터 전송

- 상위 계층이나 하위 계층 사이에 주고받는 것을 서비스 데이터 단위(SDU)

- 같은 계층 사이에서 주고받는 것을 프로토콜 데이터 단위(PDU)

- 보통 데이터 단위 = 패킷

- 데이크 링크 계층의 PDU = 프레임

- 네트워크 계층의 PDU = 패킷

- 전송 계층의 PDU = 세그먼트로 라벨을 붙인다.

 

 

- 데이터 링크 계층에서만 트레일러가 추가된다.

 

 

- 실제 네트워크 프로토콜은 OSI 참조 모델의 7계층을 모두 사용하지않고 물리계층, 데이터 링크 계층, 네트워크 계층에서만 사용한다.

 

 

3. OSI 참조 모델 7계층

- 계층 7개는 서로 독립적이므로 어느 한 계층의 변경이 다른 계층에 영향을 미치지 않는다.

- 기능에 필요한 몇개의 계층만 표준화하면 정상적으로 통신가능

 

 

▶ 물리 계층 ( Physical Layer )

- 두 시스템 간에 데이터를 전송하려고 링크를 활성화하고 관리하는 전기적, 기계적, 절차적, 기능적 특성 등을 정의

- 허브, 네트워크 카드, 케이블 등 전송매체를 통해 비트(bit)를 전송

- 상위 계층에서 전송된 데이터를 물리매체를 통해 다른 시스템에 전기적 신호로 전송

 

 

- 송신 측의 물리 계층은 데이터 링크 계층에서 0과 1로 구성된 비트열의 데이터(프레임)을 받아 전기적 신호로 변환한 후 전송매체를 통하여 수신 측에 보낸다.

- 수신 측의 물리 계층은 송신 측에서 받은 전기 신호를 0과 1로 구성 된 비트열로 복원하여 수신 측의 데이터 링크 계층에 전송

 

 

▶ 데이터 링크 계층 ( Data Link Layer )

- 물리적 링크를 이용하여 신뢰성 있는 데이터를 전송하는 계층

- 네트워크를 통해 데이터를 전송할 때 전송로 역할

- 비트를 프레임이라는 논리적 단위로 구성하는데, 전송하려는 데이터에 인접하는 노드(시스템)의 주소가 더해짐.

- 시스템 간에 오류 없이 데이터를 전송하려고 네트워크 계층에서 받은 데이터 단위(패킷)을 프레임으로 구성하여 물리 계층으로 전송

 

 

 

 

▶ 네트워크 계층 ( Network Layer )

- 상위 계층에 연결하는 데 필요한 데이터 전송과 경로선택 기능을 제공하고, 라우팅 프로토콜을 사용하여 최적의 경로를 선택

- 데이터를 전송할 수신 측의 주소를 찾고 수신된 데이터의 주소를 확인하여 내 것이면 전송 계층으로 전송

- 데이터를 패킷 단위로 분할하여 전송한 후 재결합한다.

- 패킷을 송신 측에서 수신 측으로 전송 ( 전송 개체 사이에 안정적으로 전송할 수 있도록 서비스 제공 )

 

 

 

 

▶ 전송 계층 ( Transport Layer )

- 프로토콜 ( TCP, UDP )과 관련된 계층으로 오류 복구와 흐룸 제어 등을 담당하며, 두 시스템 간에 신뢰성 있는 데이터를 전송

- 네트워크 계층에서 온 데이터를 세션 계층의 어느 애플리케이션에 보낼 것인지 판독하고, 네트워크 계층으로 전송할 경로를 선택

- 시스템 종단 간에 투명한 데이터를 양방향으로 전송하는 계층

- 네트워크 계층에서 전송한 데이터와 실제 운영체제의 프로그램이 연결되는 통신 경로

 

 

 

 

▶ 세션 계층 ( Session Layer )

- 응용 프로그램 계층 간의 통신을 제어하는 구조를 제공하려고 응용 프로그램 계층 사이의 접속을 설정, 유지, 종료시켜주는 역할

- 사용자와 전송 계층 간의 인터페이스 역할을 하며, LAN 사용자가 서버에 접속할 때 이를 관리하는 기능도 수행

- 통신 장치 간의 설정을 유지하고 동기화하는 역할

 

 

- 데이터의 단위(메시지)를 전송 계층으로 전송할 순서를 결정하고, 데이터를 점검 및 복구하는 동기 위치(Synchronization Point)를 제공

- 세션을 종료할 필요가 있으면 종료할 적절한 시간을 수신자에게 알려준다.

 

 

▶ 표현 계층 ( Presentation Layer )

- 데이터 표현 차이를 해결하려고 서로 다른 형식으로 변환하거나 공통 형식을 제공하는 계층

- 송신 측에서는 수신 측에 맞는 형태로 변환 ( ASCII 코드 -> EBCDIC ) 하고, 수신 측에서는 응용 계층에 맞는 형태로 변환한다.

- 그래픽 정보는 JPEG 형태로, 동영상은 MPEG 형태로 변환하여 송수신하는 기능과 데이터압축 및 암호화 기능 등을 제공한다.

- 송신 측과 수신 측 사이에서 표준화된 데이터 형식을 규정

 

 

- 표현 계층과 응용 계층, 세션 계층 간의 관계를 보여준다. 표현 계층의 헤더에는 전송되는 데이터 유형과 전송 길이 등 정보가 포함된다.

 

 

▶ 응용 계층 ( Application Layer )

- 파일 전송, 데이터베이스, 원격 접속, 이메일 전송 등 응용 서비스를 네트워크에 접속시키는 역할

- 사용자에게 정보를 입력 받아 하위 계층으로 전달하고, 하위 계층에서 전송한 데이터를 사용자에게 전달한다.

- 실제로 통신의 최종 목적에 해당하는 가장 중요한 계층

 

 

- 응용 계층과 사용자(사람 또는 소프트웨어), 표현 계층 간의 관계를 보여준다. ( 응용 계층에서는 헤더와 트레일러 추가 되지 않았다. )

 

1. 무선통신

- 가장 빠르게 성장하는 기술 중 하나로, 유선 LAN의 확장과 대안으로 구현된 데이터 통신 시스템

- 무선 LAN은 유선 LAN에 비해 고속 지원은 어렵지만, 단말기 이동의 유연함과 작업 환경을 쾌적하게 해주는 장점

- 무선 주파수 ( RF ) 사용

 

▶ 무선 LAN의 표준

- IEEE 802.11 표준은 무선 주파수나 적외선 전송을 사용할 수 있는 중간 크기의 LAN을 정의

- IEEE 802.11 표준은 무선 LAN의 블록을 형성함으로써 기본 서비스 집합(BSS)을 정의

- 확장 서비스 집합(ESS)은 AP를 가지는 둘 이상의 기본 서비스 집합으로 구성되어있다.

- 기본 서비스 집합은 보통 유선 LAN이 되는 분산 시스템으로 AP를 연결한다.

- IEEE 802.11 표준은 분산 시스템을 제한하지 않으므로 토큰링 또는 이더넷처럼 IEEE LAN도 될 수 있다.

 

▶ 무선 LAN의 종류

 

▶ 무선 LAN의 구성 방식

⊙ 국부 무선 LAN 접속

- 소규모의 단위 부서나 지사별로 사용 가능한 방식

- 각 단말장치들이 분산 제어 방식으로 각파일을 공유한다.

 

⊙ 서버를 공유하는 무선 LAN 접속

- 유선 LAN에 접속된 서버에 무선 LAN 카드를 추가하여 구성하는 방식

 

⊙ 액세스 포인트를 이용한 무선 LAN 접속

- 이더넷 또는 유선 백본에 유, 무선 신호를 변환하는 액세스 포인트(AP)를 설치하는 방식

- 무선 단말장치에서 기존 네트워크의 파일이나 프린터 등을 공유 할 수 있다.

 

▶ 무선 LAN의 통신 방식

- 무선 LAN의 기본 단위는 여러 개의 노드(단말)로 구성된 BSS이며, 애드혹과 하부 구조로 분류

 

⊙ 애드혹 모드 ( Ad-hoc Mode )

- 컴퓨터에 무선 LAN 카드를 장착하여 연결하는 방법

- 일대일 통신

- 외부 네트워크에 독립적으로 인식되지 않고 커다란 부하가 서버에 걸릴 때 처리에 문제가 발생할 수 있다.

 

⊙ 하부 구조 모드 ( Infrastructure Mode )

- 개방형 네트워크 프로토콜 사용으로 서로 다른 기종 간의 연결뿐만 아니라 서버의 부하를 최소한으로 하여 노드 수가 증가하더라도 문제되지 않는다.

- 중앙 집중식으로 정보를 공유하기 때문에 애드혹 모드 방식보다 빠른 속도로 액세스 가능, 많은 수의 컴퓨터도 효과적으로 공유

 

▶ 매체 접근 방식

- 이더넷에서 사용하는 CSMA/CD를 무선 LAN에서 사용하면 무선 LAN 환경에서 발생할 수 있는 문제를 해결할 수 없어 802.11 개발자들은 무선 LAN을 위한 액세스 프로토콜을 만들었다.

- 이것이 CSMA/CD와 유사한 CSMA/CA이다.

 

⊙ CSMA/CA ( Carrier-Sence Multiple-Access with Collision Avoidance )

- 전송매체를 올바르게 공유하고 있다는 것을 확실히 하려고 무선 LAN은 CSMA/CA기법을 사용한다.

- 무선 LAN에서 사용하는 CSMA/CA는 패킷을 전송하기 전에 수신자에게 간단한 전송을 요청하여 모든 전송을 수신한다.

 

▶ 데이터 암호화

- 802.11b 표준에서는 WEP(Wired Equivalen Privacy)이라는 데이터 암호화 기술을 사용하여 모든 데이터를 암호화해서 전송

- WEP은 미리 정해 놓은 암호화키를 사용하므로 암호화키를 몰 면 데이터를 전송할 수 없다.

- WEP에서는 처음 인증에 사용하는 키는 고정하나, 데이터 전송 중에 주기적으로 암호를 변경해서 사용한다.

1. 광역통신망 ( WAN, Wide Area Network )

- 두 개 이상의 근거리 네트워크가 넓은 지역을 걸쳐 연결되어 있는 것을 말한다.

- WAN은 하나의 국가 또는 국가와 국가 간을 연결하는 수백에서 수천 km 이상의 매우 범위가 넓은 네트워크

- 우리가 매일 사용하는 인터넷이 바로 WAN의 가장 대표적인 예

 

2. 회선 교환 ( Circuit Switching )

- 두 스테이션 간에 전용의 통신 경로가 있음을 의미

- 데이터를 전송하기 전에 물리적인 하나의 경로가 설정, 설정된 경로는 통신을 종료할 때까지 독점

- 경로를 설정할 때 지연이 발생하지만, 일단 경로를 설정하면 회선 교환망은 사용자에게 투명하게 전송가능

- 오류 제어 기능이 없으므로 오류 없는 데이터 전송이 요구도는 서비스에는 부적절

 

3. 메시지 교환 ( Message Switching )

- 회선 교환의 비효율적인 회선 이용을 개선시킨 데이터 통신 교환 방식

- 가변 길이의 메시지 단위로 저장/전송 방식에 따라 데이터를 교환하는 방식

- 저장/전송 방식이란 도착하는 메시지를 일단 저장한 후 다음 노드로 가는 링크가 비어 있으면 전송하는 방식

- 축적 전송(Store-and-forward) 이라고도 함

 

4. 패킷 교환 ( Packet Switching )

- 네트워크로 전송되는 모든 데이터는 송수신지 정보를 포함하는 패킷들로 구성. 이 패킷들은 표준과 프로토콜을 사용하여 생성

- 데이터는 네트워크를 사용하여 전송되기 전에 패킷이라는 작은 조각들로 나눔

- 각 패킷들은 고유의 번호가 있어 수신지에 전송되었을 때 원래의 데이터로 재결합하여 구성

 

▶ 기본적인 패킷의 구조

- 헤더 : 패킷의 송신지와 수신지, 패킷 번호 등이 있따. 플래그 정보, 패킷 길이 등의 정보도 함께 들어 있다.

- 데이터 : 미리 정의된 최대의 데이터 크기를 가지며, 데이터가 최대 길이보다 크면 작은 조각들로 쪼개져 여러개의 패킷으로 나뉘어 전송

- 순환 잉여도 검사 : 수신된 정보 내에 오류가 포함되어 있는지 검사하려고 송신측에서 보내는 원래의 데이터에 별도로 데이터를 추가 보냄

 

▶ 패킷 교환 방식

- 회선 교환 방식과 메시지 교환 방식의 장점을 수용하고, 두방식의 단점을 최소화시킨 방식

- 저장/전송 방식을 사용한다는 점에서 메시지 교환과 비슷

- 메시지 교환은 하나의 메시지단위로 전송하는 반면, 패킷 교환은 적당한 크기로 메시지를 분할하여 전송

 

▶ 회선 교환은 많은 양의 데이터를 연속적으로 전송할 때 적합

    패킷 교환은 네트워크 통신과 같은 간헐적인 정보를 보내는 데 적합

 

5. ATM 교환 ( Cell Switching ) 방식

- 데이터를 고정 길이의 셀로 나누어 전송하는 방식

- 전송 데이터를 48바이트의 고정 길이로 분할, 5바이트의 제어 정보를 추가하여 53바이트의 셀을 생성한 후 전송하는 방법을 이용

- 고정 길이의 셀을 이용하여 저속 전송에서는 빈 셀을 전송하거나 다른 사용자에게 채널을 양보하는 방법을 사용하고, 고속 전송에서는 연속

 

6. 교환 방식의 비교

- 데이터 통신에서는 전송 링크를 효율적으로 활용할 수 있는 메시지 교환이나 패킷 교환 같은 저장/전송 방식이 적합하다.

- 음성이나 동영상 등 실시간 통신에는 회선 교환 방식이 가장 적합하다.

- 대화형의 데이터 통신에서는 메시지 교환보다는 응답시간이 빠른 패킷 교환 방식이 적합하다.

1. 근거리 통신망 ( LAN, Local Area Network )

- 한 건물이나 학교 내 캠퍼스 처럼 비교적 가까운 지역에 한정된 통신망을 말한다.

- 컴퓨터뿐만 아니라 가까운 거리에 있는 프린터, 팩스, 단말기 등 기타 네트워크 장비들을 연결, 접속하여 통신할 수 있도록 구성한 네트워크 시스템

2. LAN의 특징

- 단일 기관의 소유로 수 km 범위 내의 지역으로 한정되어 있다.

- 네트워크 기기에 상관없이 서로 통신이 가능하다.

- 광역 전송매체의 사용으로 고속통신이 가능하고, 많은 사용자가 단일매체로 지연없이 데이터를 주고받을 수 있다.

- 좁은 구간에서 통신하는 네트워크이기 때문에 전송지연시간이 적고, 양질의 통신회선을 사용하여 통신 품질도 우수

- 서버를 이용하여 데이터를 쉽게 관리할 수 있다.

- 보안 기능과 사용자 통제 기능을 사용하여 외부 침입을 체계적으로 관리

 

3. LAN 전송 방식

- 컴퓨터에서 나오는 디지털 신호를 그대로 전송하는  베이스밴드 방식과 디지털 신호를 아날로그 신호로 변조해서 보내는 브로드밴드 방식

 

▶ 베이스밴드 방식 ( baseband )

- 데이터를 전송할 때 디지털 데이터 신호를 변조하지 않고 직접 전송하는 방식

- 대표적으로 이더넷

- 하나의 케이블에 단일 통신 채널을 형성하여 데이터를 전송

 

▶ 브로드밴드 방식 ( Broadband )

- 부호화된 데이터를 아날로그로 변조하고 필터 등을 사용하여 제한된 주파수만 동축 케이블 등 전송매체에 전송하는 방식

- 하나의 케이블에 다수의 통신 채널을 형성하여 데이터를 동시에 전송하는 방식

 

4. 매체 접근 방식 ( MAC, Media Access Control )

- 데이터 충돌을 방지하려고 LAN에 연결된 모든 장치는 정의된 규칙에 따라 전송매체에 접근

▶ CSMA/CD ( Carrier Sense Multiple Access with Collision Detection ) < 반송파 감지 다중 접근/충돌 검출 >

- 버스형 통신망으로 알려진 이더넷에 주로 사용

- 데이터를 송신하기 전에 반송파 여부를 감지하는데, 반송파가 감지되면 다른 컴퓨터에서 데이터 송신 중임을 판단하여 데이터를 전송하지 않는다.

- 하지만 반송파가 감지 되지 않으면 컴퓨터가 전송매체를 사용하지 않는 것으로 판단하여 데이터를 전송

- 듣고 나서 송신을 시작한다는 뜻에서 LBT ( Listen Before Talk )라고도 한다.

 

▶ 토큰 제어 방식

- 접속된 노드 사이를 토큰이라는 패킷이 순차적으로 순환하는 동안 토큰을 얻어 전송하고, 전송이 완료되면 토큰을 반납하는 방식

- CSMA/CD 방식처럼 충돌현상을 발생하지 않지만 자신에게 토큰이 올 때 까지 기다려야 한다는 단점

 

⊙ 토큰링 방식 ( Token Ring )

- 링을 따라 순환하는 토큰을 이용

- 각 컴퓨터(노드)마다 전송 기회가 공평하게 주어진다는 것

- 데이터를 전송하려는 컴퓨터들은 토큰이 자신에게 도착할 때까지 기다린 후 토큰이 자신에게 도착하면 데이터 패킷에 실어 전송

 

⊙ 토큰버스 방식 ( Token Bus )

- 이더넷과 토큰링의 특징을 합친 형태

- 물리적으로는 버스형 접속 형태를 띠고 있지만 버스의 모든 컴퓨터는 논리적으로 링형 접속 형태를 띤다.

- 채널에서 데이터 충돌이 발생하지 않으므로 한 패킷을 전송하는데 걸리는 시간이 일정

- 실시간 처리가 요구되는 시스템

 

5. 이더넷

- 1977년 제록스는 동축 케이블을 사용하여 10Mbps 전송속도를 지원할 수 있는 이더넷을 개발

- 설치가 용이하고 가격이 저렴한 UTP 기반 이더넷을 표준화함으로써 전 세계 시장을 장악

 

 

 

▶10Base-5(동축 케이블 기반 이더넷) 

- 최초의 IEEE 802.3 표준인 10Base-5는 굵은(직경 10mm 정도) 동축 케이블을 전송매체로 사용한 이더넷 구성 방식

- 10은 전송속도가 10Mbps임을 나타내고, Base베이스밴드 전송 방식(디지털 신호 전송)임을 나타냄.

- 5는 한 세그먼트의 최장 거리가 500m임을 나타낸다.

 

▶10Base-2(동축 케이블 기반 이더넷) 

- 10Base-2는 베이스밴드 전송 방식을 사용하며, 전송매체로 얇은(직경 4mm 정도) 동축케이블을 사용하는 이더넷 구성 방식

- 이 방식은 10Base-5와 성능이 같고, 세그먼트의 최장 거리는 200m이다.

 

10Base-T(UTP 케이블 기반 이더넷)

- 10Base-T10은 전송속도가 10Mbps임을 나타내고, Base는 베이스밴드 전송 방식(디지털 신호 전송)임을 나타냄.

- T는 전송매체로 카테고리 3이나 카테고리 5해당하는 UTP 케이블을 사용함을 나타낸다. 

- 10Base-T 방식은 안정성이 뛰어나고 관리가 용이하지만, 초기 설치비용이 많이 든다.

 

▶ 고속 이더넷 ( Fast Etherent )

- 10Mbps용 이더넷과 호환을 유지하면서 전송매체의 길이를 줄여 약 100Mbps 고속 전송이 가능한 방법, 100Base-T라고도 한다.

- 기존의 10Base-T 이더넷과 프레임 포맷이 같고, 매체 접근 방식도 CSMA/CD로 동일

- FDDI와는 다르게 적은 비용으로 고속의 LAN 환경을 구축

 

 

▶ 기가비트 인터넷 ( Gigabit Ethernet )

- 약 1Gbps 전송속도를 지원하는 이더넷

- 기존 이더넷뿐만 아니라 고속 이더넷과도 호환이 가능하고, UTP 이더넷 케이블을 교체하거나 프로토콜을 변경하지 않고도 업그레이드

 

▶ FDDI ( Fiber Distributed Data Interface )

- 이더넷과 토큰링 방식만큼 많이 사용하지는 않지만, LAN의 고속 컴퓨터 연결이나 백본(기간망)으로 주로 사용

- 전송매체로 광섬유를 사용, 고속의 전송속도(100Mbps)

- 토큰 제어 방식을 사용, 통신망은 링형 접속 형태를 띠는 구조

 

1. 단일-비트 오류 ( Single-bit Error )

- 데이터 단위 중 하나의 비트만 변경하는 오류를 말한다.

 

2. 다중-비트 오류 ( Multiple-bit Error )

- 데이터 단위 중 두개 이상의 비연속적인 비트를 변경하는 오류를 말한다.

 

3. 집단 오류 ( Burst Error )

- 데이터 단위 중 두 개 또는 그 이상의 연속적인 비트를 변경하는 오류를 말한다.

 

4. 패리티 비트 검사 ( Parity Bit Check )

- 전송하는 데이터마다 패리티 비트를 하나씩 추가하여 홀수 또는 짝수 검사 방법으로 오류를 검출한다.

- 예를 들어, 7비트 데이터를 전송할때 1비트 검사 비트를 추가로 전송하여 수신 측에서 데이터 전송 중 발생한 오류를 검출할 수 있도록 하는 방식

 

▶ 홀수 패리티 방식( Odd Parity )

- 전체 비트에서 1의 개수가 홀수가 되도록 패리티 비트를 정하는 것

- 데이터 비트에서 1의 개수가 짝수면 패리티 비트를 1로 정하여 전송되는 전체 데이터에 있는 1의 개수는 홀수가 된다.

 

▶ 짝수 패리티 방식( Even Parity )

- 전체 비트에서 1의 개수가 짝수가 되도록 패리티 비트를 정하는 것

- 데이터 비트에서 1의 개수가 홀수면 패리티 비트를 1로 정하여 전송되는 전체 데이터에 있는 1의 개수는 짝수가 된다.

 

▶ 디코딩 ( Decoding )

- 00100111에서 패리티 비트는 0이므로 1의 개수가 짝수인지 확인한다.

- 짝수 패리티 방식은 패리티 비트를 포함해서 각각 XOR 연산을 한 후 결과가 0(1의 개수가 짝수)이면 오류가 없는것

- 1(1의 개수가 홀수)이면 오류가 검출된 것이다.

- 0 XOR 0 XOR 1XOR 0XOR 0XOR 1XOR 1XOR 1 = 0

 

▶ 홀수 패리티 검사 원리도 이와 동일!

- 전송하려는 데이터가 1101001이라고 가정해 보자.

- 1의 개수를 홀수로 만들려고 패리티 비트를 1로 지정한다.(11101001)

- 데이터를 전송 받은 수신 측은 패리티 비트를 포함한 데이터 내 1의 개수를 세어 홀수인지 판단한 후 홀수가 아니면 재전송을 요청

 

▶ 블록 합 검사 ( Block Sum Check )

- 문자를 블록으로 전송하면 오류 확률이 높아지는데, 오류 검출 능력을 향상시키려고 문자 블록에 수평 패리티와 수직 패이티를 2차원적으로 검사하는 방법

- 한 데이터에서 짝수 개의 오류가 발생하더라도 오류를 검출할 수 있다.

 

 

▶ 순환 중복 검사 ( CRC, Cyclic Redundancy Check )

- 정확하게 오류를 검출하려고 다향식 코드를 사용하는 방법

- 오류가 없을 때는 계속 발생하지 않다가 오류가 발생하면 그 주위에 집중적으로 오류를 발생시키는 집단 오류를 검출하는 능력이 탁월하고, 구현이 단순

- CRC 발생기는 0과 1의 스트링 보다는 대수 다항식으로 표현하며, 하나의 다항식은 하나의 제수(Divisor)를 포현한다.

 

⊙ 다항식 ( Polynomial )을 이용한 순환 중복 검사의 오류 검출 과정을 살펴보자.

- 송신 측이 데이터를 전송하기 전에 송수신 측은 동일한 생성 다항식을 결정

- 송신 측에서는 K비트의 전송 데이터를 생성 다항식으로 나눈 n비트의 나머지 값을 구한다.

- K비트의 전송 데이터에 n비트의 나머지 값을 추가하여 K+n비트의 데이터를 수신 측으로 전송한다.

- 수신 측에서는 수신된 K+n비트의 데이터를 생성 다항식으로 나눈다.

- 나눈 나머지가 0이면 오류가 없는 것이고, 0이 아니면 오류가 발생한 것이다.

 

① 송신 측

a. 데이터 전송

b. 오류 검출코드 계산

c. CRC 추가

 

② 수신 측

a. 데이터 수신

b. 오류 검출코드 계산

c. 수신된 CRC와 계산된 CRC 비교 검사

d. 동일하지 않으면 오류 검출 신호 발생

1. LAN에서 통신하는 방식

▶ 유니캐스트 ( Unicast )

- 서버와 클라이언트 간의 일대일(1:1) 통신 방식

- 자신과 수신지 MAC 주소가 동일하다면 전송된 데이터를 수신, 자신의 MAC 주소가 수신지 주소가 아니라고 판단되면 해당 프레임은 버린다.

- 수신지 주소(MAC 주소)를 적어 특정 컴퓨터에만 전송

▶ 브로드캐스트 ( Broadcast )

- 로컬 LAN(라우터로 구분된 공간)에 있는 모든 네트워크 단말기에 데이터를 보내는 방식

- 서버와 클라이언트 간에 일대다(1:m)로 통신하는 데이터 전송 서비스

- 브로드캐스트의 주소는 FF-FF-FF-FF-FF-FF로 미리 정해져 있다.

- 영역 안에 있는 모든 컴퓨터에 한번에 다 전송한다.

 

▶ 멀티캐스트 ( Multicast )

- 유니캐스트와 브로드캐스트의 장점을 결합하여 특정 그룹 컴퓨터에만 한 번에 데이터를 전송하여 그룹 이외의 컴퓨터에는 영향을 주지 않는다.

 

 

2. 전송 방향에 따른 통신 방식

▶ 단방향 통신 ( Simplex )

- 송신 측, 수신 측이 미리 고정되어 있고 통신 채널을 통해 접속된 단말기 두 대 사이에서 데이터가 한쪽 방향으로만 전송되는 통신방식

- 송신 측, 수신 측을 연결하는 회로를 구성해야 하므로, 비록 단방향 전송일지라도 전송로는 두 개가 필요

 

 

▶ 양방향 통신 ( Duplex )

- 통신 채널을 통해 접속된 두 대의 단말기 사이에서 데이터의 송수신이 모두 가능한 방식

 

⊙ 반이중 통신 ( Half-Duplex )

- 데이터의 송수신을 한 번씩 번갈아 할 수 있는 통신 방식

 

 전이중 통신 ( Full-Duplex )

- 데이터의 송수신을 동시에 할 수 있는 통신 방식

 

3. 동기화 ( Synchronization )

- 송신 측에서 전송한 데이터의 각 비트를 수신 측에서 정확하게 수신할 수 있도록 해야 하는데 이를 동기화라고 한다.

 

4. 동기화 전송

- 미리 정해진 수만큼 문자열을 한 묶음으로 만들어 일시에 전송하는 방법

- 비트와 데이터 간에 간격 없이 차례대로 비트를 전송하기 때문에 데이터는 끊어지지 않는 0과 1의 문자열로 전송

 

5. 직렬 전송과 병렬 전송

▶ 직렬 전송

- 하나의 정보를 나타내는 각 데이터 비트를 직렬로 나열한 후 하나의 통신회선을 사용하여 순차적으로 1비트씩 송신하는 방식

- 하나의 통신회선을 사용하기 때문에 송신 측에서는 데이터를 1비트씩 송신

- 수신 측에서는 수신되는 비트를 일정한 단위로 모아서 사용

 

⊙ 비트 지향 동기화 기법

- 데이터의 시작과 끝을 알리는 시작 플래그로 시작해서 종료 플래그로 끝난다.

- 플래그 등의 패턴을 구별하려고 '0'비트를 삽입한다.

 

⊙ 문자 지향 동기화 기법

- 모든 데이터의 단위를 문자 단위로 처리함으로써 동기화에 필요한 데이터까지 문자로 표현

- 동기 문자 : SYN

- 문장의 시작 : STX ( Start-of-Text )

- 문장의 끝 : ETX ( End-of-Text )

▶ 비동기식 전송

- 긴 데이터 비트열을 연속으로 전송하는 대신 한 번에 한 문자씩 전송함으로써 수신기가 새로운 문자의 시작점에서 재동기하도록 하는 것

- 문자 단위로 재동기하려고 맨 앞에는 한 문자의 시작을 알리는 시작 비트(Start Bit) -> 1비트 사용

- 맨 뒤에는 한 문자의 종료를 표시하는 정지 비트(Stop Bit) -> 1~2비트 정도 사용

- 2진수 1의 개수는 패리티비트를 포함하여 홀수 또는 짝수의 값을 갖는다.

 

- 비동기식 전송을 하나의 문자를 전송한 후 휴지 상태(Idle)에 들어가는데, 이 시간이 바로 동기화 되는 시간이다.

- 문자를 전송하지 않을 때 송수신 측은 휴지 상태에 있는데, 송신기는 다음 문자를 보낼 준비가 될때까지 정지 비트를 계속 진행(11111111)

 

▶ 병렬 전송

- 부호를 구성하는 비트 수와 같은 양의 통신회선을 사용하여 여러 데이터 비트를 동시에 병렬로 전송하는 방식

- 비트 n개를 전송하려고 회선 n개를 사용

- 송신 측과 수신 측 단말기 간에 여러 개의 통신회선을 사용하기 때문에 여러 비트의 데이터를 한 번에 송신

+ Recent posts