1. Internet
1) 인터넷이란
- 인터넷(영어 : Internet, 문화어 : 인터네트) : 컴퓨터로 연결하여 TCP/IP Protocal이라는 통신 프로토콜을 이용해 정보를 주고받는 컴퓨터 네트워크
- network와 network를 서로 연결하는 것
2) 인터넷 어원
- 인터넷이란 이름은 1973년 TCP/IP를 정립한 빈튼 서프와 밥 간이 '네트워크의 네트워크'를 구현하여 모든 컴퓨터를 하나의 통신망 안에 연결(International Network)하고자 하는 의도에서 이를 줄여 인터넷(Internet)이라고 처음 명명하였다.
- 최초에 인터넷은 군사적인 목적으로 개발되었다.

2. The OSI Model
1) ISO(International Standards Organization)
- ISO : 1947년에 설립된 국제 표준에 대한 세계적인 합의를 전담하는 다국적 기관
- 세계 국가의 4분의 3이 가입되어 있다.
- 네트워크 통신의 모든 측면을 다루는 ISO standard는 OSI(Open Systems Interconnection) model이다.
- 1970년대 후반에 처음 소개
ISO는 기관이고 OSI는 model이다.
2) OSI model
- 다음과 같이 7개의 layer로 모듈화되어 있다.

- OSI model을 통한 두 컴퓨터 간 통신

- OSI model을 사용한 exchange
- 발신자 입장에서는 하위 layer로 내려갈 수록 헤더가 추가됨
- 수신자 입장에서는 헤더를 통해 작업하고 헤더 제거 후 상위 layer로 올라감

- OSI layer 요약
- Application : 네트워크 자원에 접근할 수 있게 해준다.
- Presentation : 데이터 변환, 암호화 및 압축
- Session : 세션 설정, 관리 및 종료
- Transport : 신뢰할 수 있는 프로세스 간 메시지 전달 및 오류 복구를 제공
- Network : 패킷을 source에서 destination까지 이동하고, internetworking을 제공
- Data Link : 비트를 프레임으로 구성하고 hop-to-hop delivery를 제공
- Physical : medium을 통한 비트 전송; 기계적 및 전기적 사양 제공

physical layer는 한 노드에서 다른 노드로 individual bit(개별 비트)를 이동하는 역할을 한다.
(1) 네트워크 전달 방식 종류
- Circuit Switching Network(중앙제어 전달 방식)
- 출발하기 전에 경로를 미리 파악한 후 데이터 전달(연결지향)
- 경로를 독점(dedlicated)하기 때문에 다른 사람이 끼어들 수 없다.
- (단점) 중앙이 사라지거나 문제가 발생하게 되면 네트워크 통신 자체가 먹통이 됨
→ 국방부에서 circuit switching network를 없애고 packet switching network로 변경함
- Packet Switching Network(목적지 주소 전달 방식)
- 데이터를 패킷이라는 단위로 쪼개서 전송하는 방식(비연결지향)
- 패킷의 헤더에는 src와 des에 대한 정보가 있고 라우팅 알고리즘을 이용하여 경로를 설정하고, 중간의 라우터들을 거쳐 최종 목적지에 도달하게 된다.
- (장점) 낭비가 없다.
- (단점) 게런티가 안된다
3. TCP/IP Protocal suite
1) TCP/IP Protocal suite
- OSI 모델 이전에 개발됨
- TCP/IP 프로토콜 제품군의 layer는 OSI 모델의 layer와 정확히 일치하지 않는다.
- 원래 TCP/IP 프로토콜 제품군은 하드웨어에 구축된 4개의 소프트웨어 layer로 정의되었다.
- 오늘날 TCP/IP는 OSI 모델의 layer와 유사한 이름을 가진 5-layer 모델로 간주된다.

2) A private internet
- 라우터 : 네트워크와 네트워크를 연결하는 장비 → 라우터가 테이블을 통해서 어느 네트워크로 갈지 결정

(1) Communication at the physical layer
- physical layer에서 통신 단위는 bit이다.
- 비트를 어떻게 변환해서 전달할지를 결정

(2) Communication at the date link layer
- date link layer에서 통신 단위는 frame이다.
- Hot-to-hop delivery를 가능하게 함 → Mac 주소를 사용하여

(3) Communication at the network layer
- network layer에서 통신 단위는 datagram이다.

(4) Communication at transport layer
- transport layer의 통신 단위는 이 layer에서 사용되는 특정 프로토콜에 따라 segment, user datagram 또는 packet이다.

(5) Communication at application layer
- application layer의 통신 단위는 message이다.

4. Addressing
- TCP/IP 프로토콜을 사용하는 인터넷에서는 physical address, logical address, port address 그리고 application-specific address의 네 가지 level의 주소가 사용된다.
- 각 주소는 TCP/IP 아키텍처의 한 layer와 관련이 있다.
- application layer에서 사용하는 주소는 필수 x
- transport layer : port address(포트 넘버)
- network layer : logical address(IP 주소)
- data link layer : physical address(Mac 주소)

1) Physical address
<옛날 방식 : 이더넷이 컴퓨터마다 연결됨>
- 두 노드는 link(LAN)로 연결된다. date link layer에서 이 frame은 헤더에 다음을 포함
- physical address를 포함
- 헤더의 나머지 부분에는 이 level에서 필요한 다른 정보를 포함
- sender : physical address가 10인 컴퓨터 / receiver : physical address가 87인 컴퓨터
- sender의 데이터 링크 계층은 상위 계층으로부터 데이터를 수신
→ 데이터를 프레임에 캡슐화함
→ 프레임은 LAN을 통해 전파됨 - 87이 아닌 물리적 주소를 가진 각 스테이션은 프레임의 destination address와 일치하지 않기 때문에 프레임을 삭제한다.
- intended destination computer(대상 시스템)은 프레임의 destination address와 자신의 physical address 간에 일치하는 내용을 찾는다.

<현재 방식 : switch로 장비들의 LAN들을 서로 연결>
- Switch : 어떠한 인터페이스에 어떠한 Mac 주소가 있는지를 저장하여 다음 수행 때 다른 인터페이스로 넘겨지지 않고 즉시 감

<표준 이더넷 구현>

(1) Physical address 예시
- 대부분의 local area network는 12자리 16진수로 작성된 48 비트(6 바이트) physical address를 사용
- 모든 바이트(2자리 16진수)는 아래와 같이 colon(:)으로 구분됨

2) Logical address
- 각 장치(컴퓨터 또는 라우터)는 각 연결에 대해 한 쌍의 주소(logical and physical)를 가진다.
- 이 경우 각 컴퓨터는 하나의 link에만 연결되므로 주소 쌍은 하나뿐이다.
그러나 각 라우터는 세 개의 네트워크에 연결되어 있다.
따라서 각 라우터에는 각 연결마다 하나씩 세 쌍의 주소가 있다. - 각 라우터가 각 연결에 대해 별도의 physical address를 가져야 하는 것은 분명하지만, 각 연결에 대해 logical address가 필요한 이유는 분명하지 않음
- 논리 주소가 A이고 물리 주소가 10인 컴퓨터는 논리 주소가 P이고 물리 주소가 95인 컴퓨터로 패킷을 보내야한다.
- 논리적 주소는 문자로 물리적 주소는 숫자로 나타내지만, 둘 다 실제 숫자이다.
→ IP주소(logical address)는 실제로 32비트 숫자 이지만 알파벳으로 대체
→ Mac주소(physical address)를 간단한 숫자로 대체

<위 그림 설명>
초록색 table : routing table → D(최종 목적지) / N(바로 다음 목적지)
초록색 table : APR table → 같은 LAN에 있는 네트워크들의 Mac 주소를 저장하는 테이블
▶ LAN → LAN : Mac 주소를 헤더(검정색)에 있는 logical address 통해 본인 네트워크에 속하는 지 확인 후
1) 속한다 → APR 테이블을 통해서 P에 대한 Mac 주소를 받아와서 목적지 P로 전송
2) 속하지 않음 → Mac 주소(검정색 헤더)를 제거한 후 IP 주소를 확인하여 APR 테이블을 통해서 다음으로 보내야 할
주소를 찾아서 새로운 Mac 주소(검정색 헤더)를 추가해서 전송
1. hop-to-hop 전송 : A → F / T → N / Z → P
2. src-to-des 전송 : A → P
Physical address(Mac) : hop to hop으로 인해 변경될 수 있다.
Logical address(IP) : 같은 값으로 유지됨
3) Port Number
- sending computer A: 현재 포트 주소 a, b 및 c를 사용하여 세 가지 프로세스를 실행하고 있다.
- receiving computer P : 포트 주소 j와 k를 사용하여 두 개의 프로세스를 실행
- A의 프로세스 a는 P의 프로세스 j와 통신해야 한다.
- 예를 들어, 두 컴퓨터가 동일한 응용 프로그램인 FTP를 사용하고 있지만
하나는 클라이언트 프로그램이고 다른 하나는 서버 프로그램이기 때문에 포트 주소가 다름
- 예를 들어, 두 컴퓨터가 동일한 응용 프로그램인 FTP를 사용하고 있지만

<Port number가 필요한 이유>
IP 주소 : 컴퓨터에 할당되는 주소(즉, 전세계에 단 하나)
→ 한 컴퓨터 안에서 여러 개의 인터넷 m을 실행할 수 있다.
→ 따라서 어떤 application program에 할당되어야 하는 데이터인지에 대한 구분이 필요
→ 각 application program에 Port number 부여하여 구분
(1) Port number 예시
- 포트 주소는 하나의 10진수 숫자로 표현되는 16비트 주소이다.

4) Address 정리
Transport layer(port number) : process to process communication을 담당
Network layer(IP address) : src to des delivery을 담당
Data Link layer(Mac address) : hop to hop delivery을 담당
※!!!추가 필기!!!※
Port number는 해당 컴퓨터 내에서만 유일하면 됨
Mac address는 LAN 내에서 유일하면 됨
IP address는 전세계에서 유일하면 됨
5) Network 장치
(1) Repeater
- Repeater는 physical layer에서 작동한다. Repeater의 기능은 신호가 너무 약해지거나 손상되기 전에 동일한 네트워크를 통해 신호를 재생성하여 신호가 동일한 네트워크를 통해 전송될 수 있는 길이를 연장하는 것이다.
- 신호가 약해지면 신호를 조금씩 복사해서 원래 강도로 재생한다.
- 2 port device
※ 주의할 점 ※ 중계기가 신호를 증폭시키지 않는다는 것

(2) Hub
- Hub는 기본적으로 multiport repeater이다.
- Hub는 서로 다른 분기(branch)에서 오는 여러 와이어를 연결한다.
- 예를들어, 다른 스테이션을 연결하는 star topology의 connector이다.
- Hub는 데이터를 필터링할 수 없으므로 data packet이 연결된 모든 장치로 전송된다.
즉, 허브를 통해 연결된 모든 Host의 collision domain은 하나로 유지된다. - (단점) data packet에 대한 최적의 경로를 찾을 수 있는 intelligence(지능)이 없어 비효율성과 낭비를 초래

(3) Bridge
- Bridge는 데이터 링크 계층에서 작동
- Bridge는 source 및 destination의 MAC 주소를 읽어 콘텐츠를 필터링하는 기능이 추가된 Repeater
- 동일한 프로토콜에서 작동하는 두 개의 LAN을 상호 연결하는 데 사용됨
Fitering : 해당 목적지가 아니면 보내지 않도록 하는 과정
(4) Switch( Hub + fiterling 기능)
- Switch는 효율성(포트 수가 많으면 traffic이 적음)과 성능(performance)을 높일 수 있는 버퍼와 설계를 갖춘 multi port bridge이다.
- Switch는 데이터 링크 계층 디바이스이다.
- 버퍼를 가지고 있어서 저장했다가 보냄
- Switch는 데이터를 전달하기 전에 오류 확인을 수행할 수 있으므로 오류가 있는 패킷을 전달하지 않고 올바른 포트에만 올바른 패킷을 선택적으로 전달하지 않으므로 매우 효율적이다.
- 즉, Switch는 Host의 collision domain을 분할하지만 broadcast domain은 동일하게 유지
'컴퓨터 네트워크' 카테고리의 다른 글
컴퓨터 네트워크 : Chapter 2. 소켓의 타입과 프로토콜의 설정 (0) | 2023.04.13 |
---|---|
컴퓨터 네트워크 : Chapter 1-1 네트워크 프로그래밍과 소켓의 이해 (0) | 2023.04.13 |
컴퓨터 네트워크 : 15. Transmission Control Protocol(TCP) (0) | 2023.04.11 |