[네트워크와 데이터통신]중간고사 시험 정리

류명운

·

2014. 6. 28. 02:02

반응형


네트워크-중간고사정리.hwp


1. OSI 참조 모델이란?

표준화된 프로토콜/한 컴퓨터의 응용프로그램(7계층)으로부터 다른 컴퓨터의 응용프로그램까지 네트워크 매체를 통해서 어떻게 데이터와 네트워크 정보를 주고 받는 지에 대해 규정

장점 : 접근 방법을 계층으로 분할하였기 때문에 프로그램 개발자들이 각 계층의 기능에 맞도록 네트워크 상에서 동작하는 응용프로그램을 구현할 수 있다. 네트워크 표준 및 장비, 인터네트워킹 방법 등을 개발하고 구축하는 틀을 제공한다.

 

1.Physical Layer 2.Data link Layer 3.Network Layer 4.Transport Layer 5.Session Layer 6.Presentation Layer 7.Application Layer

1.Physical Layer

데이터를 매체의 규격과 특성에 맞게 전송(신호형태로 받은 데이터를 컴퓨터가 이해할 수 있는 2진 데이터로 변경/2진 데이터를 전송매체에 맞는 전기신호 또는 빛의 신호로 변경하여 전송)

 

대표적인 장비는 케리해커(케이블,리피터,허브,커넥터)

2.Data link Layer

1.Framing

물리계층으로부터 올라온 2진데이터를 해석이 가능한 프레임으로 만듬(프레임의 헤더에는 근원지(발신)주소와 목적지(수신)주소인 물리주소가 있음)

2.수신체크

이 물리주소를 바탕으로 수신한 프레임이 자신에게 온 것인지 판단

3.FCS(Frame Check Sequence) -(ParityBit, CRC)

에러 검출 에러가 있으면 버리고 없으면 상위계층에 전달

 

(대표적인 프로토콜은 Ethernet, 장비로는 NIC,브릿지,스위치)

3.Network Layer

1.물리주소는 같은 네트워크상의 호스트들 사이에서 구분 하지만

논리주소는 서로 떨어진 다른 네트워크 사이에서 호스트를 구분

2.Routing(패킷의 경로를 설정)

3.대표적인 프로토콜은 IP, 장비는 라우터

4.Transport Layer

호스트 내에 연결된 응용프로그램 구분(TCP에서 포트넘버를 사용하여)

대표적인 프로토콜인 TCP에서는 포트넘버를 사용

1.신뢰성 전송 전송확인이나 재전송기능 -tcp

2.비신뢰성 전송 -어떠한 검사도 하지 않음(스트리밍) -udp

1.연결지향형-전송에 필요한 연결을 맺고 전송(ack) -tcp

2.비연결지향형-무작정보냄(Bootp) -udp

5.Session Layer - 별로 안중요(응용프로그램들 사이에 가상연결이라는정도만.)

6.Presentation Layer - 데이터를 표현하는 방법 결정(jpeg,gif..)

7.Application Layer -SMTP/HTTP/FTP등으로 구현된 응용프로그램(카톡,익스플로러..)

 

오버헤드 : 물건을 사탕을 2백원에 팔려고 만들었는데 3백원이 들음ㅡㅡ

Encapsulation ->데이터를 전송할 때 상위계층으로부터 수신한 데이터를 헤더를 첨부하여 하위계층으로 전달하는 과정

Decapsulation -> Encapsulation과 반대

 

2.Ethernet이란?(1,2계층을 표현하는 네트워크)

현재 LAN을 구축하기 위한 기술 중에서 가장 널리 사용되고 있음

 

널리 사용될 수 있었던 이유

1.설치가 쉽다.

2.새로운 기술과 통합하기 쉽다.

3.신뢰할 수 있다.

4.설치와 업그레이드 비용이 낮다.

 

MAC Address? (물리주소. 전송매체:공기,구리,선 등..)

->12개의 16진수로 표현되는 48비트

처음 6개의 16진수는 IEEE에서 부여한 번호로 제조회사를 뜻하는 OUI(Oraganizational Unique Identifier) 나머지 6개의 16진수는 각 제조회사에서 부여한 일련번호이다.

 

Ethernet Frame이란? 프레임이란 2계층 프로토콜의 데이터 유닛을 말한다.

 

Ethernet Frame

Preamble

(8)

DestinationMAC

Address(6)

Source

MAC

Address(6)

Type

(2)

Data

(46~1500)

FCS

(4)

 

헤더

데이터

트레일러

시작을

알리는 신호

목적지

근원지

네트워크계층이무엇인지

 

에러체크

 

IEEE 802.3 Frame (1계층 전체와 2계층의 일부인 MAC까지를 구현한다)

Preamble

(7)

SFD

(1)

DestinationMAC

Address(6)

Source

MAC

Address(6)

Length(2)

Data

(46~1500)

FCS

(4)

802.2

LLC(2)

Data

 

 

헤더

데이터

트레일러

 

시작

신호

목적지

근원지

프레임의 길이

네트워크계층이 뭔지

 

에러체크

 

Ethernet에서 전송가능한 최대 허용 프레임의 크기는 1518Byte이며 최소크기는 64Byte이다.

데이터(46~1500byte) 헤더+트레일러(18byte)

(데이터의 크기가 46Byte가 안 될 경우 패딩을 부쳐 46Byte를 채운다.)

802.2에서는 Type를 이용하여 상위계층을 찾아갈 수 있지만 802.3의 프레임 정보로는 올바른 3계층을 프로토콜을 찾아갈 수 없다. 이 일은 Data Link LayerLLC부계층의 역할

 

MAC 프로토콜이란?

차례대로 돌아가면서 서비스를 받는 결정적 프로토콜과 먼저 도착한 프레임이 먼저 서비스를 받는 비결정적 프로토콜로 나눌 수 있다.

결정적 프로토콜

비결정적 프로토콜(Ethernet)

토큰 링 방식

-> 토큰을 잡은 호스트만이 데이터 전송(두 호스트가 동시에 데이터를 전송할 수 없으므로 충돌이 안 일어남)

CSMA/CD(Carrier Sense Multiple Access/Collision Detect)

->

1.listen 데이터를 보내나 확인

(보내는중:wait / 안보내는 중 Data접속)

2.데이터전송과 동시에 충돌이 생기나 확인

충돌이 발생->제일 가까운 host에서 충돌 흡수->

Jam신호를 전체 네트워크에 브로드캐스트(32bit)->

전송중단->-오프 알고리즘 수행(random한 시간을 대기 후 첫단계부터 다시 시작)->전송을 마침

 

버스형 ->하나의 케이블에 호스트들이 죽 늘어선 형태

별형 ->허브에 여러 호스트가 연결되는 별형의 브로드캐스트 토폴로지를 사용

 

 

LLC?

802.3

Ethernet Technology

Ethernet은 처음 발표된 이래로 많은 기술의 발전 10Mbps->100Mbps->1000Mbps...발전

 

Half-duplex = 동시에 한 개의 호스트만이 전송가능

Full-Duplex = 동시에 송/수신 가능

10Mbps Ethernet

종류

10BASE5

10BASE2

10BASE-T

최대거리

500m

200m

허브를 이용한 별 형 토폴로지

/단점

무겁고 설치하기 어렵다.

10BASE5에 비해 가볍고 유연성이 있기 때문에 설치하기 쉽다.

1990년대 후반까지 가장 널리 사용된 Ethernet형태

지원

Half-Duplex

Half-Duplex

Half-Duplex->Full-Duplex

100Mbps Ethernet

종류

100BASE-TX(UTP케이블/최대200Mbps)

100BASE-FX(광섬유)

지원

Half-Duplex/Full-Duplex 모두지원

Half-Duplex/Full-Duplex 모두지원

1000Mbps Ethernet

종류

1000BASE-TX(UTP)

1000BASE-SX(광섬유)

1000BASE-LX(광섬유)

사용용도

빌딩의 백본망

빌딩의 백본망

빌딩의 백본망

지원

Half-Duplex/Full-Duplex 모두지원

Half-Duplex/Full-Duplex 모두지원(멀티모드광섬유)

Half-Duplex/Full-Duplex 모두지원(싱글모드광섬유)

 

 

3. 네트워크 장비

케이블 -> 네트워크를 구성하는 가장 필수적인 요소(우리 몸의 핏줄과 같은 역할)

Coaxial(케이블동축케이블)

STP

UTP

광섬유

아날로그와 디지털 신호 모두를 전송할 수 있는 매체이다. 값은 광섬유에 비해서는 싸지만, 전화선보다는 훨씬 비싸다.

구리선

절연된 구리선이 서로 꼬아져 있다.

광파장에 의해 정보를 전송. 기존의 구리선보다 더 많은 정보를 운반할 수 있으며, 전자기의 간섭을 받지 않으므로, 신호를 재 전송할 필요가 없다.

 

UTP케이블

Straight케이블은 서로다른 계층을 연결할 때(주주녹파파녹갈갈)

Cross케이블은 허브와 허브 또는 pcpc 또는 pc와 라우터 등을 연결할 때(녹녹주파파주갈갈)

 

리피터(신호재생산/1계층장비)

신호 증폭 ->호스트 수가 증가(충돌발생률이 올라감)

단점: 변형된 신호(에러가 와도 몰름)1계층장비라서. 에러감지는 2계층에서 가능

 

허브(멀티포트 리피터/1계층장비)

리피터와 동일한 기능을 갖고 있으면서 여러 개의 포트를 갖고 있음.

CDMA/CD를 사용하는 Ethernet에서 연결된 호스트의 수가 많아진다는 것은 -> 동시에 트래픽을 전송하는 호스트의 수가 많아짐 -> 충돌이 발생할 확률이 높아지고 전송 횟수와 대

기 시간이 늘어 네트워크의 전체적인 성능이 현저하게 떨어짐

 

브릿지(네트워크와 네트워크를 연결/2계층장비)

브릿지는 2계층장비로서 물리 주소를 알 수 있기 때문에 같은 영역에 있는 호스트 사이에서의 통신은 브릿지를 통과하지 못한다.

 

스위치(멀티포트 브릿지/2계층장비)

브릿지와 다른 점은 하드웨어로 구현되어 고속으로 프레임 처리를 할 수 있고 스위치는 몇 백 개의 포트를 지원할 수 도 있다.

 

라우터(서로 다른 네트워크를 연결/3계층장비)

물리주소와 더불어 논리주소를 알고 있어 네트워크를 충돌 도메인만 분리하는 것이 아니라 브로드캐스트 도메인도 분리한다.

 

 

2. TCP/IP(인터넷을 구동하기 위해 만든 프로토콜 스택)

 

Application Layer

 

Telnet(포트넘버:23 / 원격 서버에 접속)

멀리 떨어진 텔넷 서버의 자원을 마치 로컬 컴퓨터에서 사용하는 것처럼 원격으로 사용가능하도록 하는 서비스이다.

 

FTP(포트넘버:21)

로컬 컴퓨터에서 원격컴퓨터로 파일을 전송하거나 파일을 가져오기 위해 사용하는 프로그램

 

TFTP(포트넘버:69 / 비연결성 전송 UDP)

FTP의 기능을 단순화한 프로그램으로 파일 이름과 위치를 정확히 알고 있는 경우에만 사용할 수 있다.

 

SMTP(포트넘버:25 / 메일 전송 및 스풀)

송신자의 메일 서버와 수신자의 메일서버간에 메일을 주고 받는 방식

 

SNMP(포트넘버:161 / 네트워크 장비이상 유무확인)

네트워크 장비에 주기적으로 폴링하여 장비에 대한 정보를 제공하도록 하여 데이터를 수집한다.

 

DNS(포트넘버:53 / IP주소와 호스트이름을 바꿔주는 서비스)

 

BootP(MAC주소 xx인데 IP주소 뭐 쓰면되??)

하드디스크가 없는 네트워크 컴퓨터에서 전원을 키면 네트워크 상에 BootP 요청 메시지를 브로드캐스트 -> BootP 서버는 요청 메시지를 접수하고 BootP파일에서 클라이언트의 MAC주소를 찾는다 -> IP주소와 부팅 정보가 들어있는 파일을 클라이언트에게 알려줌

 

DHCP(호스트에 IP 주소를 부여하는 프로토콜)

BootP와 다른 점은 BootP는 서버로부터 수동으로 작성된 파일을 바탕으로 IP 주소를 할당받는데, DHCP는 동적으로 정책에 따라 IP주소를 부여한다는 점이다.

 

 

TCP계층(TCP는 연결지향형->연결 전에 어떻게 할지 미리 협상....)

TCP는 응용프로그램으로부터 큰 데이터 블록을 받으면 여러 개의 세그먼트로 분해하여 전송한다. 세그먼트를 보내고 수신한 수신지 측 TCP는 에러가 없이 받았다면 전송 확인(ACK)을 보내고 에러가 있거나 일정기간 동안 받지 못하면 재전송을 요구한다. 전송 확인이나 재전송 요구 시 세그먼트의 일련번호가 사용된다. 따라서 TCP신뢰성 있는 프로토콜이다.

3way hand shaking -> 통신을 하기전에 ack을 보내어 협상하는 과정

발신지->수신지(request) -> (한번에 보낼 수 있는 size등을 협상)

수신지->발신지(replay) -> 그래 그렇게 협상하자.

발신지->수신지(replay) -> 데이터 보낸다. 받을 준비해

 

ack -> 전송확인

발신지->수신지 -> 데이터 전송

수신지->발신지 -> 데이터를 받았으면 전송확인(ack) 전송

 

sliding window -> 한번 전송할 때 마다 ack을 받으면 오래걸리니까 ack을 받지 않고 데이터를 여러번 보내겠다는 개념.

 

window size -> sliding window를 할 때 ack을 받지 않고 보낼 수 있는 데이터 크기

 

select repect -> ack이 오지 않은 일련번호의 세그먼트(데이터)만 재전송 하는 기법

발신지->수신지(data전송)

발신지->수신지(data전송)

발신지->수신지(data전송)

발신지->수신지(data전송)

수신지->발신지(에 해당하는 ack)

수신지->발신지(에 해당하는 ack)

수신지->발신지(에 해당하는 ack)

수신지->발신지(에 해당하는 ack)

발신지->수신지(에서전송한data재전송)

수신지->발신지(에 해당하는 ack)

sliding window 사용.

window size4

 

 

 

 

3에 해당하는 ack이 안옴->

 

select repect 실행(3만 재전송)

 

 

 

UDP(비연결지향형 / 비신뢰성전송) -> 주기적으로 데이터를 보내는 SNMP, 스트리밍 ..

UDPIP가 패킷을 보내주는 대로 따를 뿐이다. 트래픽 전송에 있어서 부가적인 작업이 없으므로 시스템의 자원 사용을 줄일 수 있고 부가적인 트래픽 전송이 없으므로 네트워크 자원의 사용도 줄일 수 있어 어떤 면에서는 효율적이라고 볼 수 있다.

 

Port

상위 계층의 프로그램이 무엇인지 식별하기 위해 사용하는 것이 포트번호이다.

서버에서 클라이언트로부터의 서비스 요청을 빨리 하기 위해서 미리 정해진 포트 번호로 서비스 요청을 받는다. 이 포트 번호가 Well-known 포트 번호이다.

FTP

Telnet

HTTP

SMTP

DNS

TFTP

SNMP

21

23

80

25

53

69

161

TCP

UDP

 

 

IP(3계층 프로토콜)

패킷의 라우팅과(길 찾기) 상위 계층에 단일 네트워크 인터페이스를 제공하는 것이다.

 

IP주소 사용 이유

자신만의 유일(유니크)한 번호를 사용하기 위해.

 

IP의 작업

IP는 상위 계층에서 받은 세그먼트(4계층)를 데이터그램(3계층) 또는 패킷(3계층)으로 나눈다. 각 패킷에는 송신측과 수신측의 IP 주소를 포함하고 데이터그램을 세그먼트로 결합할 때 필요한 정보를 추가한다. 패킷은 라우팅테이블의 정보에 따라 수신지가 어디에 있는 지 파악하여 패킷을 수신지 네트워크로 보낸다. 수신지에서는 받은 데이터그램을 원래의 세그먼트로 재결합한다.

 

IP에서 사용하는 다른 프로토콜이나 상위 계층의 프로토콜을 구분하기 위해 Protocol Field가 있다.

ICMP

TCP

IGRP

UDP

1

6

9

17

IP

 

IP에서 사용하는 프로토콜

Internet Protocol

ICMP(Internet Control Message Protocol)

(포트넘버 1)

네트워크 관리 프로토콜이며 IP를 위한 서비스

네트워크 상태를 알려주기 위해 사용된다.

수신지 도착불능 -> 송신측에게 메시지 전송=(..)

버퍼 부족 -> 데이터그램을 버려라 송..

Hop -> 최대 통과 가능한 라우터수에 달하면 송..

Ping -> 연결상태 점검

Traceroute -> ICMP의 종료 시간을 이용하여 패킷이 네트워크를 경유할 때 경로에 따라 걸리는 시간을 알기 위해 사용

ARP(Address Resolution Protocol)

IP주소를 알고 있을 때 하드웨어 주소를 알기 위해 사용한다.

RARP(Reverse Address Resolution Protocol)

디스크가 없는 컴퓨터에서는 자신의 하드웨어 주소는 쉽게 알 수 있지만 IP주소는 저장 공간이 없으므로 알지 못한다. 이때 RARP를 이용하면 자신의 IP 주소를 알 수 있다.

 

IP Addressing(xxx.xxx.xxx.xxx)

-> 32bit의 정보로 구성되며 각각 8개의 비트를 1바이트로 하는 4부분으로 나눈다.

 

IP 주소를 계층적으로 나타내는 이유

-> 32비트의 IP주소로 구분할 수 있는 호스트의 수는 232이다. 이러한 수를 라우팅 테이블에 저장한다면 라우팅 정보를 저장하는 공간도 문제이거니와 시간도 상당히 걸려 통신이 불가능하게 된다. 따라서 IP주소를 네트워크와 호스트 부분으로 나누는 계층적인 형태로 만들면 라우팅 테이블에는 네트워크만 구분할 수 있는 정보만 있으면 된다. 이렇게 되면 라우팅 테이블의 크기도 줄어들고 계산량도 줄어 다소 빠른 라우팅을 할 수 있게 된다.

Network Addressing

Class A

Network

(0~127)

Host

Host

Host

Class B

Network

(128~191)

Network

Host

Host

Class C

Network

(191~223)

Network

Network

Host

Class D

Multicast (224~239)

Class E

Research (240~255)

 

Reserved IP address

Address

Goal

All 0 N/W addr

이 네트워크(같은 네트워크)

All 1 N/W addr

모든 네트워크

127.0.0.1

루프백주소(자기자신)

All 0 node addr

이 노드(노드 부분이 0인 애)

All 1 node addr

해당 네트워크의 모든 노드

All 0 IP address

기본 설정 경로(IP가 모두 0일 때)

All 1 IP address

같은 네트워크의 모든 노드로 브로드캐스트

 

클래스

유효 네트워크 수

유효 호스트 수

서브넷마스크

(Subnet Mask)

Class A

27-2

224-2

255.0.0.0

Class B

214-2

216-2

255.255.0.0

Class C

221-2

28-2

255.255.255.0

 

A. 서브넷 마스크(AND연산)

->라우팅을 좀더 빠르게 하기 위해 생긴 개념이다. IP주소를 네트워크마다 그룹지어 네트워크 주소만 기록한다면 라우터에 저장할 내용도 줄고 이에 따라 계산량도 줄어든다.

 

128 / 64 / 32 / 16 / 8 / 4 / 2 /1 = 0/0/0/0/0/0/0/0

 

IP주소와 그에 해당하는 서브넷마스크를 이용하여 네트워크 주소 구하기

클래스 A 주소 68.0.0.3 = 0 1 0 0 0 1 0 0. 0. 0. 0 0 0 0 0 1 0 1

& 서브넷 마스크 255.0.0.0 = 1 1 1 1 1 1 1 1. 0. 0. 0 0 0 0 0 0 0 0

네트워크 주소 68.0.0.0 = 0 1 0 0 0 1 0 0. 0. 0. 0 0 0 0 0 0 0 0

 

B. 서브넷팅

->A클래스의 경우 224의 호스트가 한 네트워크에 존재한다. 단일 네트워크로 그 많은 호스트를 관리하기 어려운데, 서브넷팅을 하여 더 작은 네트워크로 나누면 관리가 쉽다.

서브넷팅의 장점

1. 네트워크 트래픽의 감소로 인한 성능의 최적화

2. 관리의 간편성

3. 지리적으로 먼 거리까지의 확장 용이성

 

필요한 서브넷 개수or호스트 개수로 서브넷 마스크 주소 및 네트워크 수, 유효한 호스트 수 구하기 끝~~~~~~~~~~~~~~~ 

반응형