프로토콜 = 약속 

 

대체 어떤 약속이란 말인가?! 

 

바로 컴퓨터끼리 통신하기 위한 약속이다. 

컴퓨터는 하드웨어도 운영체제도 모두 다를 수 있다. 

하지만 TCP/IP를 이용해 통신할 수 있다.

 

이는 마치 다른 인종과 국가의 사람이 같은 언어를 사용해 의사소통할 수 있는 것과 같다. 

사람이 같은 언어를 사용해야 의사소통이 가능한 것처럼 

컴퓨터도 마찬가지로 같은 규약을 갖고 서로 통신해야 한다. 

 

 

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

L1, L2, L3, L4, L7 스위치와 로드밸런싱  (0) 2024.07.31
인터넷과 인트라넷 그리고 VPN  (0) 2024.07.31
Proxy 서버  (1) 2024.07.31
ARP(Address Resolution Protocol)  (1) 2024.07.08
RIP(Routing Information Protocol)  (0) 2024.06.24

 

AS 내에서 사용되는 동적 라우팅 프로토콜인 Distance Vector 방식의 RIP(Routing Information Protocol)를 알아보자. 

 

RIP는 목적지 라우터까지의 거리(Distance)와 목적지까지 가기 위해서 어떤 인접 라우터 방향(Vector)으로 가는지를 라우팅 테이블에 저장한다. 

 

그리고 이 정보를 인접 라우터와 30초마다 공유하는 방식으로 라우팅 테이블을 유지한다. 

 

라우터는 라우팅 테이블의 정보를 인접 라우터와 30초마다 공유함.

라우터는 네트워크의 모든 정보를 가지고 있지 않기 때문에 적은 메모리를 요구하고 구성이 간단해 많은 라우터에서 기본적으로 지원하는 프로토콜.

하지만 다음 라우터의 방향과 거리만 나타내므로 전체 경로를 알 수 없으므로 순환경로에 빠지는 문제가 발생할 수 있음. 라우팅 테이블에 변화가 생겼을 때 모든 라우터가 업데이트를 완료하는 시간을 Coverage Time이라고 부르는데 RIP는 하나의 라우터를 건너기 위해서는 30초라는 시간이 걸리므로 5개의 라우터만 건너더라도 Coverage Time이 300초가 됨.

따라서 대규모 네트워크에서 사용하기가 힘들고 소규모 네트워크에서 사용됨

 

 

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

Proxy 서버  (1) 2024.07.31
ARP(Address Resolution Protocol)  (1) 2024.07.08
스태틱 라우팅과 다이내믹 라우팅  (0) 2024.06.23
라우터  (0) 2024.06.23
IP헤더(패킷)  (0) 2024.06.23

우리가 데이터를 전송한다면 애플리케이션 계층에서 데이터가 만들어지고 

이 데이터는 트랜스포트 계층으로 넘어간다

트랜스포트 계층에서는 받은 데이터에 트랜스포트 계층의 약속을 나타내는 헤더를 붙이고 

이렇게 만들어진 전체 데이터를 데이터그램이라고 부른다. 

 

데이터그램은 다시 네트워크 계층으로 넘어간다. 

네트워크 계층에서는 받은 데이터그램에 네트워크 계층의 약속을 나타내는 IP 헤더(네트워크 계층 헤더)를 붙이고 

이렇게 만들어진 데이터는 패킷이라고 부른다. 

 

패킷은 다시 데이터링크 계층으로 전달된다

데이터링크 계층에서는 패킷에 데이터링크 계층의 약속을 나타내는 헤더를 붙이는데 

이더넷을 배웠으니 이더넷 헤더가 붙는다. 

https://dipping.tistory.com/27

 

[데이터링크 계층] 이더넷과 이더넷 헤더

물리계층에선느 물리 신호(전압, 빛, 전파) 전달을 담당 했다면 데이터링크 계층에서는 기기에 MAC 주소를 부여해 원하는 기기에만 데이터를 전달할 수 있도록 한다. 이 외에도 매체 공유, 비공

dipping.tistory.com

이렇게 만들어진 데이터를 프레임이라고 부르고 

프레임은 물리 계층으로 전달돼 전기신호로 바뀌어서 케이블을 타고 전송된다. 

 

이번시간에는 IP헤더 모양을 베워보자. 

IP헤더, 인프런 그림으로 쉽게 배우는 네트워크

1. Version

IP 헤더의 버전을 나타내는 4bit로 구성된 필드이다. 

IPv4는 0100, IPv6는 0110 으로 표현한다. 

 

2. Header Length

- 현재 IP헤더의 크기를 나타내는 4bit로 구성된 필드이다. 

- 대부분의 IP헤더의 길이는 20Byte로 단위는 32비트이다. 이 값은 거의 5로 고정되어있다. 

 * 단위가 32bit이므로 5(0101) - 5*32 = 160bit = 20byte

 

3. TOS: Type of Service 

- 이 필드는 서비스의 우선순위를 나타내는데, 거의 사용되지는 않는다.

 

4. Total Packet Length

- IP패킷의 크기를 바이트(8bit)단위로 나타내는 16bit로 구성된 필드이다.

- 16bit이므로 2^16(65,536)바이트를 나타낼 수 있다. 최대 크기가 패킷의 크기와 일치 

 

5. Identifier

- 이 필드는 16비트로 구성되어있다.

- IP는 패킷을 분할 할 수 있는 기능이 있는데 Identifier 필드는 분할된 패킷을 구분하기 위한 용도로 사용된다. 

- 분할된 패킷은 Identifier로 순서대로 재조합 된다. 

 

6. Flags

- 패킷을 분할할지 하지 않을지 나타내는 3비트로 구성된 필드 

- 첫 비트는 0으로 고정, 두 번째 비트가 0이면 분할되었음, 1이면 분할되어있지 않음

- 세 번째 비트가 0이면 이 패킷이 마지막 조각, 1이면 더 많은 조각이 존재함! 

 

7. Fragment Offset

- 13비트로 구성

- 분할된 패킷이 원래 데이터에서 알마나 떨어져 있는지를 나타내므로 분할전 데이터그램을 복원할 때 사용한다. 

 

8. Time To Live

- 몇 개의 라우터를 이동할 수 있는지를 나타내는 8비트로 구성된 필드

- 만약 이 필드의 값이 5(00000101)라면 5개의 라우터까지 통과할 수 있고 0이 되면 이 패킷은 버려진다. 

.

9. Protocol ID 

- 이 필드는 상위 계층의 프로토콜이 어떤 프로토콜인지 나타내는 8bit로 구성된 필드이다. 

- 1: ICMP, 6:TCP, 17: UDP, 89:OSPF 등등 

 

10. Header Checksum

- IP헤더가 손상됐는지 체크하는 16비트로 구성되어있는 필드

 

 11. Source IP Address 

- 출발지 IP주소를 나타내는 필드 

 

12. Destination IP Address

- 목적지 IP주소를 나타내는 32비트로 구성된 필드

 

13. Options: 주로 사용되지는 않지만, 테스트용으로 사용되는 가변길이의 필드

 

14. Padding: Options를 사용하는 경우 길이가 맞지 않을 때 덧붙이는 용도로 사용되는 필드, 패킷의 크기가 32bit 단위로 되도록 Padding으로 정확하게 맞춤 

 

15. Data(데이터그램): 상위계층에서 전달된 데이터를 나타냄, 상위계층에서 데이터(데이터그램)가 전달되면 IP헤더가 붙여져 패킷이라는 이름이 되고 이 패킷에 데이터링크의 이더넷 헤더가 붙고 프레임이라는 이름으로 다시불리게 된다. 

 

https://www.eit.lth.se/ppplab/IPHeader.htm

 

IP Protocol Header

Version. 4 bits. Specifies the format of the IP packet header. Version Description 0 Reserved. 1 2 3   4 IP, Internet Protocol. 5 ST, ST Datagram Mode. 6 SIP, Simple Internet Protocol. SIPP, Simple Internet Protocol Plus. IPv6, Internet Protocol. 7 TP/IX,

www.eit.lth.se

IP헤더에 대한 자세한 설명 

생각해보니 이더넷은 데이터링크 계층을 대표하는 프로토콜이니 이더넷 헤더는 데이터링크 계층에서 붙고 

IP는 네트워크 계층에서 사용하는 거니까 당연히 네트워크 계층에서 헤더가 붙는다고 생각하면 될 것 같다. 

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

스태틱 라우팅과 다이내믹 라우팅  (0) 2024.06.23
라우터  (0) 2024.06.23
IP 클래스와 서브넷 마스크  (0) 2024.06.23
IP  (0) 2024.06.20
네트워크 계층  (0) 2024.06.20

IP주소는 8비트 4개 총 32비트로 이루어져있다.

8비트는 2^8으로 0부터 255까지 256개의 수를 표현할 수 있다.

따라서 0.0.0.0 ~ 255.255.255.255까지 2^32개의 주소 표현 가능 -> 43억개 

 

43억개나 되는 IP주소를 효율적으로 관리하기 위해 클래스라는 것이 등장.

클래서는 A,B,C,D 총 4가지가 있다. 

 

클래스 A

- 32비트 중에서 가장 앞에 있는 비트가 0으로 시작하는 클래스 

- 가장 앞에 있는 8비트를 네트워크 주소로 사용, 나머지 24비트를 호스트 주소로 사용 

- 가장 첫번째 비트가 0으로 고정되어있으므로, 나머지 7비트로 표현할 수 있는 수는 2^7로 128개, 0부터 127까지 128개의 네트워크를 구분할 수 있다. 

- 나머지 24비트로 2^24개(16,777,216)의 호스트를 구분할 수 있다. 

- 실재로는 호스트부의 모든 비트가 0이거나 1인 주소는 호스트에 부여할 수 없음! 따라서 2개 뺴면 16,777,214개를 할당할 수 있다. 

- 클래스 A는 1600만개의 호스트를 지정할 수 있는 네트워크가 128개 있다는 것을 기억하면 된다. 

- 0.0.0.0 ~ 127.0.0.0 범위에 있음

 

클래스B

- 32비트 중에서 가장 앞에 있는 2비트가 10으로 시작하는 클래스

- 가장 앞 16비트를 네트워크 주소로 사용하고 나머지 16비트를 호스트 주소로 사용

- 16,384(2^14개, 네트워크 주소 16개 중에서 앞 두 비트는 10으로 고정되어 있으므로), 128.0~ 191.255까지 네트워크 주소로 사용 

- 호스트 주소는 0.0~ 255.255까지 65,536개의 호스트를 구분할 수 있음, 실제로는 호스트부의 모든 비트가 0이거나 1인 주소는 호스트에 부여할 수 없음. 따라서 2개를 빼면 65,534개를 할당할 수 있음

- 만약 앞부분의 네트워크 주소를 130.5.0.0으로 정했다면 130.5.0.0~ 130.5.255.255까지 총 65,536개의 호스트에 IP를 부여할 수 있다는 의미이다.

 

클래스C

32비트 중에서 가장 앞에 있는 3비트가 110으로 시작하는 클래스 

- 가장 앞에 있는 24비트를 네트워크 주소로 사용, 나머지 8비트는 호스트 주소로 사용 

- 21비트로 표현할 수 있는 수는 2의 21승으로 2,097,152개의 네트워크를 구분할 수 있따. 

- 즉, 192.0.0.0~ 223.255.255까지 네트워크 주소로 사용한다. 

- 나머지 8비트는 호스트 주소로 사용하는데 8비트는 2의 8승으로 256개의 호스트 주소를 사용할 수 있다. (실제로는 호스트부의 모든 비트가 0이거나 1인 주소는 호스트에 부여할 수 없음! 따라서 2개를 뺴면 254개 할당 가능)

 

클래스D

- 32비트 중에서 가장 앞에 있는 4비트가 110으로 시작하는 클래스입니다.

- 32비트 모두를네트워크 주소로 사용한다. 

- 클래스 D는 224.0.0.0 부터 239.255.255.255까지 나타낸다. 

- 호스트를 지정할 수 없어서 멀티캐스트* 용도로 사용한다.

   * 멀티캐스트: 1:N으로 전송하는 방식으로 특정 그룹에게 전송함. 특정 그룹에게만 데이터 전송할 수 있어 유니캐스트와 멀티캐스트의 단점을 보완하는 방식임. 멀티캐스트를 지원하는 자입가 있어야만 동작할 수 있다는 단점이 있음. 

 

IP 주소에 클래스 표현 방법

IP 주소에 클래스를 표현하고 싶다면 IP 주소 뒤에 슬래쉬(/)를 적고 IP 주소의 앞에서 몇 번째까지가 네트워크 주소로 사용하는지 적어주면 됨. 만약 10.5.1.2라는 클래스 A의 IP 주소를 표기한다면 10.5.1.2/8로, 192.168.0.4라는 클래스 C의 IP 주소를 표기한다면 192.168.0.4/24로 표기 

 

192.168.0.0은 호스트주소가 0이면 192.168.0이라는 네트워크 전체의 주소를 나타내는 용도로 쓰이기 때문에 호스트 주소로는 사용이 불가능하다. 

192.168.0.255는 192.168.0이라는 네트워크의 모든 호스트, 즉 브로드캐스트 주소로 사용되기 때문에 호스트 주소로는 사용이 불가하다. 

 

 

IP클래스의 한계

회사에 필요한 IP는 300개라고 가정하면 

C클래스는 할당받을 수 없다. C클래스는 254개의 호스트만 할당받을 수 있기 때문에, 

 

그래서 회사에서는 국제인터넷주소관리기구에 클래스 B를 요청한다. 

클래스 B는 65,534개의 IP를 할당할 수 있다. 

- 300개를 써도 65,234개나 남는다. 

- 국제인터넷주소관리기구에서 제공할 수 있는 클래스 B의 네트워크는 16,384개이다. 

 

이렇게 IP 주소가 낭비되는 문제를 해결하기 위해 서브넷 마스크라는 것을 생각해낸다. 

 

서브넷마스크

서브넷 마스크는 클래스로 나뉘어 낭비되는 공간을 다시 한번 나누는 기술이다. 

 

ex) IP주소가 300개 필요한 회사에 클래스B의 네트워크를 할당했다고 가정.

130.5.0.0/16으로 앞의 16비트를 네트워크 주소로 사용하고 뒤에 16비트를 호스트 주소로 사용한다. 

여기서 서브넷 마스크는 호스트 주소의 앞 7개의 비트까지 네트워크 주소로 사용하기로 한다. 

 

호스트 주소의 앞 7개까지 1로 채우면 서브넷 마스크는 255.255.254.0으로 표현된다. 

130.5.0.0 

10000010 00000101 00000000 00000000

11111111   11111111   11111110   00000000 이 두개를 AND 연산 하면 

네트워크 부가 늘고 호스트부는 줄어든다. 

130.5.0.0 부터 130.5.1.255까지 총 512개의 주소를 할당할 수 있게 된다. 

따라서6만개 정도 낭비되다가 200개 정도만 낭비된다. 

 

IP를 관리하기 쉽게 클래스로 나눴지만 부족한 IP를 아껴쓰기 위해 서브넷 마스크가 등장하게 된 것이다. 

 

네트워크를 처음 구상할 때 43억개(2^32)의 IP주소면 충분하다고 생각했지만 

인터넷이 폭발적으로 성장하면서 43억개는 턱없이 부족. 

 

한 사람만 보더라도 그 사람이 사용하는 PC, 노트북, 핸드폰, 프린터 등 IP주소를 여러 개 사용한다. 

지구에 IP주소를 사용하는 인구가 40억명이라고 가정하고 한 사람이 3개의 IP주소를 사용한다고 하면 적어도 120억개가 필요하다. 

 

이렇게 사용자의 모든 장치에 고유한 IP를 부여하면 너무 많은 IP주소가 사용되므로 

외부뫙 통신하는 곳에만 고유한 IP를 부여하고 LAN 환경에서는 가상의 IP를 부여하기로 한다. 

 

여기서 가상의 IP를 Private IP라고 말한다. 

 

그리고 외부와 통신하는 곳에 부여하는 고유한  IP를 Public IP라고 말한다. 

 

집 내부에서는 Private IP로 PC, 노트북, 스마트폰을 구분하고 집 외부로 나갈 때는 Public IP하나로 나감(외부에서는 PC, 노트북, 스마트폰 구분 안됨) 

 

Private IP주소는 

10.0.0.0 ~ 10.255.255.255/8 클래스 A

172.16.0.0~ 172.31.255.255/12 클래스 B

192.168.0.0~ 192.168.255.255/16 클래스 C

로 대부분 사용자 PC에서 IP주소를 확인하면 여기에 해당한다. 

 

ipconfig로 보면 같은 ip가 나올 수도 있다. 

 

Q. IP주소는 고유해야 하는데 똑같은 주소면 통신을 못하는거 아닌가? 

A. 맞다. IP주소는 고유해야한다.LAN영역에서 사용하는 Private IP주소는 라우터를 통해서 다른 네트워크로 이동하기 전에  Public IP로 바뀌어서 나가게 된다. 

 

Public IP로 바뀌어서 나가면 고유한 주소로 통신할 수 있다. 

이를 NAT(Network Address Translation)이라고 하고 NAT는 라우터를 배우고나서 자세히 알아보자. 

NAT덕분에 사용자의 모든 기기에 Public IP 를 부여하지 않을 수 있게 되어 IP주소를 절약하게 됐다. 

하지만 이 방법은 NAT Traversal이라는 문제가 발생하는 경우가 있고 

 

IP가 부족한 근본적인 해결 방법이 되지 못하므로 IPv6가 개발되었다. IPv6는 무한대에 가까움 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

라우터  (0) 2024.06.23
IP헤더(패킷)  (0) 2024.06.23
IP  (0) 2024.06.20
네트워크 계층  (0) 2024.06.20
스위치  (0) 2024.06.16

CSMA/CD는 어떻게 태어나게 됐을까. 

이더넷 초기에 가장 먼저 표준으로 나온 케이블은 10BASE5라는 동축 케이블이다. 

1983년도에 발표됐다. 

이때는 UTP케이블과 허브가 없었는데 어떻게 여러 대의 컴퓨터가 통신했을까?

 

바로 하나의 동축케이블에 버스형으로 연결해 사용했다. 

 

동축케이블이 하나인데 어떻게 다른 컴퓨터까지 선을 연결했을까? 

바로 BNC T Connector를 사용했다. 

이 커넥터에 동축케이블들을 연결해서 사용함. 

 

동축케이블은 하나의 선으로 전기신호를 보내 통신하므로 두 대 이상의 컴퓨터가 동시에 신호를 보내 통신하면 충돌이 발생해 데이터가 손상된다. 

 

CSMA/CD는 충돌을 방지하기 위해 만들어진 프로토콜이다. 

Carrier Sense Multi Access / Collision Detection의 약자이다. 

Carrier는 반도체 내에서 전류의 흐름을 발생시키는 녀석이다.

Carrier Sense라는 말은 전선에 Carrier를 감지하는 것이다. 

동축케이블 내 Carrier가 많다면 전류가 흐르고 있다고 판단하는 것이다. 

 

Multi Access라는 말은 두 대 이상의 컴퓨터가 동축케이블에 접근하는 것을 말한다. 

 

마지막으로 Collision Detection은 두 대 이상의 컴퓨터가 접근해 충돌이 발생한 것을 탐지하는 걸 말한다. 

 

PC1, PC2, PC3이 있다고 가정했을 때, 

 

Carrier Sense를 해서 데이터가 전송되는지 확인한다. 

PC1, PC3이 둘이 Carrier Sense를 했다고 가정, 

둘다 데이터가 전송되지 않은 것을 확인한 후 PC2에 데이터를 전송한다. Multi Access를 한것..! 

 

하지만 데이터가 전송되다가 충돌한다. 

이때 충돌을 감지하는걸 Collision Detection이라고 한다. 

 

그러면 충돌을 감지한 컴퓨터는 데이터 전송을 중지하고 연결된 모든 컴퓨터에 충돌이 났다는 Jamming 신호를 전달한다. 

 

데이터를 전송하고자 하는 컴퓨터는 랜덤한 시간동안 기다렸다가 재전송한다. 

PC1이 2초, PC3이 3초를 기다렸다가 재전송한다고 가정하면, 

PC1이 2초 기다리고 재전송하고 PC3이 3초 기다렸다 재전송하므로 충돌이 발생하지 않는다. 

 

이후에도 충돌이 발생하면 랜덤한 시간동안 기다렸다가 재전송하지만 15번 반복되면 더 이상 전송하지 않고 전송을 포기한다. 

이는 하나의 컴퓨터에서 고장이나 악의적인 목적으로 계속 데이터를 보낼 때 모든 컴퓨터가 통신이 불가능해지는 것을 막기 위한 것이다. 

 

이렇게 CSMA/CD로 동축케이블 하나를 이용해 모든 컴퓨터가 안전한 반이중 통신이 가능해졌다. 

 

예전엔 utp로 반이중통신망 가능했다고함. IEEE 802.3x에서야 전이중 통신이 가능해짐! 

 

현재는 전이중통신을 사용하기 때문에 CSMA/CD는 거의 사용하지 않는 고대 유물이다. 

 

cf) CSMA/CA 는 Carrier Sense Multiple Access with Collition Avoidence의 약자로 

IEEE 802.11 무선 LAN에서 사용하는 프로토콜이다. 

무선 네트워크에서는 충돌을 감지하기 힘들기 때문에 CSMA/CD 대신 CSMA/CA를 사용한다.

CSMA/CA는 노드가 충돌을 감지하기 위해서는 신호를 전송하는 동시에 신호를 수신한다. 

충돌이 발생하지 않는다면 노드는 자신이 보낸 신호만을 수신하지만, 충돌이 생긴다면 노드는 자신이 송신한 신호와 다른 노드가 송신한 신호인 두 개의 신호를 수신하게 된다. 

https://corona-world.tistory.com/42

 

CSMA, CSMA/CD, CSMA/CA 란? (2)

본 포스팅은 두 개의 글로 구성되어 있습니다. CSMA, CSMA/CD, CSMA/CA 란 ? (1) CSMA, CSMA/CD, CSMA/CA 란 ? (2) CSMA / CD (Carrier Sense Multiple Access with Collision Detection) CSMA / CD 방식은 유선 네트워크의 경우 충돌을

corona-world.tistory.com

참고

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

스위치  (0) 2024.06.16
브리지  (0) 2024.06.16
[데이터링크 계층] 이더넷과 이더넷 헤더  (0) 2024.06.16
허브  (1) 2024.06.16
리피터  (0) 2024.06.16

이전 시간에는 거리가 멀어질 때 리피터라는 장치로 연결해 통신할 수 있다는 걸 배웠다. 

 

여기서 연구실에 더 많은 컴퓨터가 들어올 때는 어떻게 할까 

 

랜카드를 PC에 추가로 연결하면 되는거 아닐까? 

PC1 ~ PC4까지 있을 때, 

PC1은 PC2,3,4와 통신하기 위해 랜카드 3개가 필요 

 

앞으로 컴퓨터 몇 대를 더 연결할지도 모르는데 컴퓨터 한 대당 랜카드를 하나씩 둔다면 확장성에 문제가 생길 것이다. 

어떻게하지?! 

 

이런 문제점 때문에 등장한 장치가 허브이다. 

 

허브의 뜻: 중심 

 

허브는 여러 대의 컴퓨터를 연결하는 중심이 되는 장치이다. 

 

컴퓨터는 서로 통신하기 위해서 직접 케이블로 연결하는 것이 아니라 중간에 있는 허브에 케이블로 연결한다. 

허브에는 랜선을 꼽을 포트가 있다. 

 

4대의 컴퓨터가 통신을 위해 허브에 연결할 때, 

 

PC1이 PC4에 데이터를 전송하고 싶다면 목적지 MAC 주소를 PC4로 설정하고 연결된 허브로 데이터를 보낸다. 

데이터를 수신한 허브는 수신한 포트를 제외한 나머지 포트로 데이터를 전송한다. 

즉 브로드 캐스팅을 한다. 

 

허브는 이 과정에서 PC1에서 전달되는 약해진 신호를 다시 증폭까지 한다. 

즉 리피터 역할도 한다. 이때문에 허브를 멀티포트 리피터 라고도 부른다. 

 

MAC주소에 상관없이 단순히 물리 신호를 브로드캐스팅 하므로 물리 계층에 해당하는 장치이다. 

PC2, PC3, PC4의 랜카드는 허브에서 온 아날로그 신호를 디지털 데이터로 바꾼다. 

 

랜카드는 프레임의 헤더에 적힌 목적지 MAC주소를 참조해 자신의 MAC주소와 비교한다. 

PC2와 PC3은 목적지 MAC주소가 자신의 MAC주소와 일치하지 않으므로 버린다. 

PC4는 목적지 MAC 주소가 자신의  MAC 주소와 일치하므로 이 데이터를 상위 계층으로 보내 처리합니다. 

 

허브의 등장으로 연결할 때마다 랜카드를 추가할 필요없이 통신할 수 있게 됐다~! 

 

더 많은 PC를 연결하고 싶으면 더 큰 허브를 사야할까? 

10포트 짜리 허브를 사도 되고 

 

만약에 5포트 짜리 2개 허브가 있다면 

허브끼리 서로 연결하고, 여기에 컴퓨터를 연결하면 8대 컴퓨터가 통신이 가능해 지는 것이다. 

 

그럼 컴퓨터가 늘어날 때마다 허브를 추가하면 이론적으로 무한대로 연결할 수 있는것일까? 

안타깝지만 그럴 수 없다. 

 

동시에 신호를 보내고 싶지만, 허브는 브로드 캐스팅을 하기 때문에

충돌을 예방하기 위해 충돌이 발생하지 않을 때 전송한다. 

이를 CSMA/CD라고 한다. 

 

CSMA/CD는 한 순간에는 하나의 PC만 데이터를 전송한다는 것만 기억하자. 

허브는 구조상의 이유로 충돌이 발생할 수밖에 없고 충돌이 발생할 수 있는 영역을 

Collision Domain이라고 부른다. 

 

CSMA/CD를 사용해 반이중 통신( 송신을 하는 동안엔 수신을 할 수 없고, 수신을 하는 동안엔 송신을 할 수 없는 통신)* https://dipping.tistory.com/19

 

단방향, 반이중, 전이중 통신

전송방식에 따른 통신의 종류를 알아보자.  단방향(Simplex) 통신 - 송신측에서 수신측으로만 데이터를 보낼 수 있다. - TV, 라디오 등에서 사용한다. - 송신측이 수신측으로부터 어떠한 데이터

dipping.tistory.com

이 되어 버렸는데, 만약 PC가 추가될 때마다 허브에 PC를 연결하게 된다면 

하나의 콜리전 도메인에 많은 PC가 있게 되고, 

100대가 연결되었다면 한 순간에 하나의 PC만 데이터를 전송할 수 있으므로 통신속도가 매우 느려지게 된다. 

 

이것이 허브의 한계이고 데이터링크 계층에서 배울 브리지, 스위치가 등장하는 이유이다. 

 

<정리> 

허브는 케이블로 두 대의PC 가 직접 통신하는 방식에서 여러 대가 통신할 수 있도록 해주는 혁신적인 장치이다. 

1개의 랜카드로 여러 PC가 통신이 가능하게 된 것이다! 

신호도 증폭해줘서 리피터역할도 한다.(멀티포트 리피터)

하지만 연결된 모든 PC에 브로드캐스팅을 하므로 충돌이 발생할 수 있고 CSMA/CD로 충돌을 예방한다. 

즉 한순간에 하나의 PC만 데이터를 전송할 수 있다. (반이중 통신)

 

충돌이 발생할 수 있는 영역을 콜리전 도메인이라고 부르고 콜리전 도메인에 많은 컴퓨터가 연결되면 속도가 떨어진다는 단점이 있다. 

따라서 많은 PC를 연결할 수 없다. 

 

허브는 데이터링크 계층의 기술인 MAC 주소를 구분하지 않기 땜누에 물리 계층에 해당하는 장치이다. 

 

 

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

CSMA/CD  (0) 2024.06.16
[데이터링크 계층] 이더넷과 이더넷 헤더  (0) 2024.06.16
리피터  (0) 2024.06.16
[네트워크 구성] 최초의 통신  (0) 2024.06.16
MAC 주소  (1) 2024.06.16

Network Interface Card라고 불리는 하드웨어로 데이터링크 계층에 해당하는 장치이다. 

 

물리계층의 기능도 수행함. 

 

컴퓨터 메인보드(마더보드)에 내장되어있거나 추가 슬롯을 장착할 수 있다. 

 

랜카드는 애플리케이션 계층부터 시작해서 각 계층을 타고 내려온 최종 디지털 데이터인 프레임을 아날로그 데이터로 바꾸기도 하고 

전달받은 아날로그 데이터를 디지털 데이터로 바꾸기도 한다. 

 

랜카드는 MAC주소(전세계에서 유일한 주소)를 갖고 있다. 

 

케이블을 타고 아날로그 데이터가 랜카드에 전달되면 랜카드는 아날로그 데이터를 디지털 데이터로 변환한다. 

무선랜카드는 전파를 통해 전송되는 아날로그 데이터를 디지털데이터로 변환한다. 

 

디지털 데이터에서 데이터링크 헤더에 적힌 목적지 MAC 주소가 자신의 MAC 주소와 일치하는지 비교한다. 

일치하면 CPU에게 데이터가 왔다고 알려주고, 일치하지 않으면 버린다. 

 

랜카드는 아날로그 데이터를 디지털 데이터로 바꿔주고 필요한 데이터반 받는 중요한 장치이다. 

 

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

[네트워크 구성] 최초의 통신  (0) 2024.06.16
MAC 주소  (1) 2024.06.16
케이블  (1) 2024.06.13
물리계층과 데이터링크 계층  (0) 2024.06.13
단방향, 반이중, 전이중 통신  (0) 2024.06.13

전송방식에 따른 통신의 종류를 알아보자. 

 

단방향(Simplex) 통신 

송신측에서 수신측으로만 데이터를 보낼 수 있다. 

- TV, 라디오 등에서 사용한다. 

- 송신측이 수신측으로부터 어떠한 데이터를 받지 않기 때문에 수신측에서 문제가 발생해도 송신측에서 알 수 없다는 단점이 있다. 

 

반이중(Half duplex)통신

송신을 하는 동안엔 수신을 할 수 없고, 수신을 하는 동안엔 송신을 할 수 없는 통신 

- 무전기가 대표적이다. 

- 한 노드가 데이터 전송을 하고 송신을 종료하는 신호를 보내면 그제야 수신측은 송신을 할 수 있다.

 

전이중(Full duplex)통신

- 송신과 수신을 동시에 할 수 있다. 

- 전화기가 대표적! 

 

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

MAC 주소  (1) 2024.06.16
랜카드  (0) 2024.06.16
케이블  (1) 2024.06.13
물리계층과 데이터링크 계층  (0) 2024.06.13
유니캐스트, 브로드캐스트, 멀티캐스트, 애니캐스트  (0) 2024.06.13

유니캐스트 

- 노드끼리 1:1 통신 

- 한 노드가 다른 노드들에 모두 데이터를 전송하는데 목적지 주소가 아닌 노드들은 메시지 버림 

- 주소를 확인하는 작업은 랜카드가 하므로 CPU에 부담을 주지 않는 방식이다. 

 

브로드캐스트

- 출발지에서 연결된 모든 노드에게 데이터를 전송한다.

- 목적지는 모든 노드 

- 모든 노드는 데이터를 수신하고 랜카드가 인터럽트를 발생시켜 CPU에서 이 데이터를 처리할지 말지를 결정한다. 따라서 CPU에 부하를 주게 된다. 

- 브로드캐스트가 많이 발생하는 네트워크라면 네트워크 구성을 변경해야 한다. 

 

멀티캐스트

- 1:N으로 데이터를 전송하는 방식

- 유니캐스트와 브로드캐스트의 단점을 보완 

- 10개의 노드가 있다면 그중에 7개만 보내고 싶다고 하면, 만약 유니캐스트라면 목적지를 주소2,3,4,5,6,7 로 총 7번 보내야 한다. 유니캐스트는 데이터를 전송할 노드가 많아진다면 출발지에서 데이터를 여러번 보내야 하고 , 모든 노드의 트래픽이 증가한다. 

- 브로드캐스트를 이용한다면 출발지에서 모든 노드로 한 번의 전송만 발생한다. 7개의 노드는 필요하니 정확히 받았는데 나머지 2개는 필요없는 데이터를 수신하게 된다. CPU 성능에 부하를 줄 수 있다. 

- 이렇게 일부 그룹에만 데이터를 전송할떄 유니캐스트, 멀티캐스트는 단점을 가진다. 

- 멀티캐스트는 이런 면에 강하다. 데이터를 받고자 하는 그룹을 만들어 해당 그룹원에게만 데이터를 전송한다. 

- 하지만 장비가 멀티캐스트 기능을 지원해야만 쓸 수 있다. 

 

애니캐스트

- 연결된 노드 중 가장 가까운 노드에만 전송 

- 브로드캐스트의 단점을 보완하기 위해 등장. IPv6에서 사용된다. 

 

 

 

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

MAC 주소  (1) 2024.06.16
랜카드  (0) 2024.06.16
케이블  (1) 2024.06.13
물리계층과 데이터링크 계층  (0) 2024.06.13
단방향, 반이중, 전이중 통신  (0) 2024.06.13

+ Recent posts