하루 3분 네트워크 교실

sham·2021년 7월 26일
0

1. 네트워크 기초 지식

컴퓨터 네트워크 : 컴퓨터와 컴퓨터가 그물망처럼 통신 매체로 연결되어서 데이터를 운반하는 것.

리소스 : 컴퓨터와 사용자가 가지고 있는 (물리적, 논리적을 따지지 않는) 자원.

데이터 : 무언가에 대한 정보를 컴퓨터상에서 표현한 것.

인터페이스 : 컴퓨터와 통신 매체(전기 신호, 전선, 파이프)의 중개를 담당.

프로토콜 : 데이터를 주고 받음에 있어서 필요한 규칙, 통신규약이라고도 한다.

교환기(라우터) : 전화기는 하나의 교환기와 연결, 교환기끼리 연결.

네트워크의 구조

회선 교환 : 일종의 교환기를 사용해서 파이프를 교체해가는 방식.

패킷 교환 : 데이터를 패킷이라는 작은 단위로 분할해 송신. 복수의 컴퓨터가 회선을 공유할 수 있다. 회선 교환에서 회선이 점유되면 더 이상 접속할 수 없다는 점을 보완한다. 주소를 붙여서 패킷 교환기에 보내기에 다수의 기기가 동시에 사용할 수 있다. 컴퓨터 네트워크가 사용하는 방식.

세그먼트 : 패킷 교환 없이 케이블 분배기로 연결되는 범위. 한 개의 케이블을 분배해서 연결하는 것이 하나의 예시. 케이블에 T자 분배기를 끼우기보다는 허브라는 기기를 사용하는 추세.

멀티액세스 네트워크 : 허브를 사용해 세그먼트를 구축한 네트워크. 컴퓨터가 다른 컴퓨터에 데이터를 송신할 수 있다. 허브의 포트로 회선을 연결, 허브 내부에 T자로 분배한 회선이 있다고 생각하자.

포인트 투 포인트 네트워크 : 컴퓨터 한 대가 다른 한 대의 컴퓨터에만 데이터를 보내는 방식.

패킷 교환 네트워크 : 멀티액세스 네트워크와 포인트 투 포인트 네트워크를 조합해서 만들어진다.

네트워크의 범위와 규모

LAN : Local Area Network. 구내 단위로 설치된 네트워크. 개인 주도하에 설치 가능.

WAN : Wide Area Network. 도시, 나라 단위로 설치된 네트워크. 통신사업자의 통신 케이블을 빌려서 연결한 네트워크.

2. 신호의 전송과 충돌

1계층

1계층의 역할 : 케이블이 연결되어 있는 기기에 신호를 전달하는 것.

통신 매체 : 신호가 지나는 파이프 역할, 유선과 무선으로 나뉨. 유선을 사용하는 게 일반적인 방식. 전기신호를 쓰는 동선과 광신호를 쓰는 광파이퍼가 있다.

UTP(Unshielded Twist Pair cable) : 두 개가 한 쌍인 동선 네 쌍으로 이루어짐.

NIC(Network Interface Card) : 컴퓨터와 LAN용 케이블을 연결하는 인터페이스, 컴퓨터가 보내고 싶은 데이터를 케이블에 맞는 신호로 변환한다.

DCE(Data Circuit terminating Equipment, 회선종단기기) : 컴퓨터와 WAN용 케이블을 연결하는 인터페이스.

LAN은 NIC 인터페이스를 통해, WAN은 DCE 인터페이스를 통해 송신한다.

신호와 충돌

인터페이스 : 비트를 신호로, 신호를 비트로 변환하는 기기. 신호는 아날로그 신호(파장)와 디지털 신호(ON OFF)로 나눌 수 있다.

디지털 신호 : 오늘날 통신에서 주로 쓰이는 방식이다. 통신 속도는 신호의 횟수(1초 동안 여러번)와 신호의 비트수(신호의 종류(0, 1 / 00, 01, 10, 11))에 따라 결정된다.

BPS(Bit Per Second) : 통신속도의 기본 단위, 1초 당 전달하는 비트 수를 나타낸다.

신호의 감쇠 : 긴 케이블을 지나는 동안 동선의 저항 때문에 신호가 약해지는 현상. 장거리 운반 시 증폭 처리를 요한다.

노이즈, 간섭 : 전기신호의 형태가 무너져버리는 현상. 열 잡음, 크로스 토크(신호 누설), 근처의 전자파 등 간섭으로 인해 신호의 진폭을 정확히 읽을 수 없게 된다.

충돌 : 동일 케이블 상에 동시에 전송된 신호가 충돌하는 현상. 전기신호가 뒤섞여서 신호의 진폭이 붕괴된다.

허브

허브 : 허브에 케이블로 연결되어 있는 기기는 동일 케이블에 연결되어 있는 것하고 같은 취급을 받게 된다.

허브의 기능 : 신호의 증폭과 재생(액티브 허브 한정), 복수의 기기를 연결해서 네트워크를 구축.

리피터 : 신호를 증폭하는 기기, 허브처럼 케이블을 많이 연결할 수는 없다.

플러딩 : 허브가 수신한 포트 이외의 모든 포트에 수신한 신호를 송신하는 현상, 허브가 수신한 신호에 대해 어떤 제어도 하지 않기 때문에 일어난다. 충돌 현상의 원인이 된다.

충돌 도메인 : 신호를 송신하면 충돌이 발생할지도 모르는 범위. 허브로 연결된 컴퓨터는 같은 충돌 도메인에 있게 된다. 충돌 도메인은 작아야만 한다.

2계층

2계층 : 신호가 닿는 범위에서의 데이터 전송에 관한 규정을 고려한다. 신호가 닿는 범위는 세그먼트 범위(패킷 교환 없이 케이블 분배기로 연결되어 있는 범위)를 의미한다. 2계층에 한해 1계층에서 다루는 신호나 케이블, LAN WAN 등에 따라 규격이 달라진다.

이더넷(Ethernet) : LAN의 사실표준.

프레임 : 2계층의 PDU를 일컫는 말.

PDU(Protocol Data Unit) : 데이터랑 데이터를 보내기 위해 필요한 것들이 통합된 상태. 각 계층마다 부르는 말이 다르다.

프레이밍 : 1계층에서 주고받는 신호를 비트화해 의미를 갖게 한다. 프리엠블이라는 일련의 비트열을 보내 프레임 신호가 온다는 것을 알 수 있다. 프리엠블을 통해 송수신 간의 타이밍을 맞출 수 있다.

이더넷

어드레싱 : 이더넷 상에서 주소를 다루는 방식. 데이터 전송 방법에 따라 3종류의 주소가 존재한다.

유니캐스트 : 1대1 통신. 일반적인 방식. 각 기기는 유니캐스트 주소를 적어도 1개는 가지고 있다. 유니캐스트 주소는 유일하다.

브로드캐스트 : 1대전체 통신. 2계층의 브로드캐스트는 세그먼트 내의 모든 기기라는 의미가 된다.

멀티캐스트 : 1대다수 통신. 지정된 복수의 기기로 메시지를 보내는 데이터 통신. 그룹 번호 같은 개념이기에 같은 주소를 가진 기기가 여러 대 존재한다.

MAC 주소(Media Access Control) : 이더넷에서 사용되는 주소. 인터페이스에 지정된 고정 주소이다. 인터페이스가 변하면 MAC 주소가 변한다. 48비트 값으로 8비트마다 16진수로 인식한다.

이더넷 프레임 : 2계층의 PDU. 이더넷 헤더와 이더넷 트레일러을 3계층 PDU인 데이터그램에 붙여서 캡슐화한다.

이더넷 헤더 : 수신처 MAC 주소, 송신처 MAC 주소, (페이로드의 내용을 식별하는)타입으로 이루어졌다. 각각 48비트, 48비트, 16비트이다.

페이로드 : 3계층 PDU(데이터그램), 전송되는 데이터이다. 368~12000비트다.

이더넷 트레일러 : FCS(Frame Check Sequence)로 이루어졌다. 에러를 파악할 수는 있지만 고칠 수는 없다. 에러가 감지되면 해당 프레임은 파기된다. 32비트다.

이더넷 동작

플러딩 제어 : 허브를 사용한 멀티액세스 네트워크의 경우 데이터는 모든 기기에 전달된다. 이더넷에서는 수신한 프레임의 수신처 MAC 주소를 보고 자신의 MAC 주소 외의 다른 프레임은 파기한다.

충돌 제어 : CSMA/CD라는 액세스 제어를 통해 충돌을 방지한다. 누군가 송신 중이라면 송신하지 않고(CS), 아무도 송신하고 있지 않다면 송신할 수 있고(MA), 송신 후 충돌이 일어나면 재수행(CD)한다.

스위치

스위치 : 충돌이 발생하지 않도록 신호가 지나는 길을 나누는 방법. 허브 대신에 사용한다. 충돌 도메인을 분할하는 역할을 한다. 스위칭 허브 ,이더넷 스위치, 2계층 스위치로도 불린다.

충돌 : UTP나 광파이버에서는 송신과 수신이 별도 취급되므로 충돌이 이루어지지 않는다. 충돌은 허브에서만 일어난다.

MAC 주소 필터링 : 학습과 스위칭이라는 동작으로 이루어진다. MAC 주소에 의해 송신하는 포트를 필터링한다.

학습 : 수신한 프레임의 송신처 MAC 주소를 기록해서 수신한 포트와 MAC 주소를 연관짓게 한다.

스위칭 : 프레임의 수신처 MAC 주소를 보고 그 MAC 주소가 있는 포트만 프레임을 송신한다.

어드레스 테이블 : 학습을 통해 스위치는 포트에 연결되어 있는 컴퓨터의 MAC 주소를 기억하는 것. 학습하기 전에는 플러딩이 일어난다.

전이중 이더넷

버퍼링 : 버퍼를 사용한 처리를 통해 수신처가 같은 프레임이 동시에 도달하는 것을 제어한다. 충돌할 것 같은 프레임을 버퍼에 일시적으로 저장한다. 버퍼의 용량은 제한되어 있기에 백 프레셔 또는 IEEE802.3x라는 규격을 사용해서 송신을 조정할 수 있다.

반이중 통신 : 누군가가 송신 중일 때 송신 불가능, 자신이 송신 중일 때는 수신 불가능, 트랜시버 같은 통신 방식. CSMA/CD가 이에 해당.

전이중 통신 : 동시에 송수신 가능. 스위치가 이에 해당. 반이중 통신보다 효율적, 전이중 이더넷이 일반적.

3. IP 어드레싱

3계층

3계층 : 세그먼트 간에서의 데이터 송수신을 담당. 떨어진 위치의 컴퓨터끼리 데이터 통신을 가능케 한다.

네트워크(3계층) : 3계층에서의 세그먼트, 라우터와 라우터로 분배된 컴퓨터 그룹. 라우터를 넘어서는 브로드캐스트는 송신되지 않기에 네트워크르 복수의 네트워크로 분할함으로써 브로드캐스트가 도달하는 범위를 제한할 수 있다.

인터넷 작업(Internetwork) : 네트워크 간에서의 송수신을 일컫는 말.

어드레싱 : 물리 주소인 MAC 주소와 논리 주소인 IP 주소를 동시에 사용해서 컴퓨터의 위치를 특정하는 것.

라우팅 : 수신처까지 어떤 경로로 갈 것인지를 결정하는 것.

IP(Internet Protocol) : TCP/IP 프로토콜군에 포함된 프로토콜. 3계층에서의 어드레싱과 라우팅에 사용된다.

IP 데이터그램 : 3계층 PDU, 데이터에 IP 헤더가 붙은 상태의 PDU이다.

IP 주소

  • 세분화할 수 있는 계층형 주소다.(서울시 장안구 장충동)
  • 네트워크 관리자가 컴퓨터에 할당한다.
  • 너트워크에 접속할 때마다 붙이는 주소이다.
  • 네트워크가 바뀐 경우 논리 주소도 바뀌게 된다.
  • 유니캐스트, 멀티캐스트, 브로드캐스트 총 3종류의 주소가 있다.
  • 소속된 네트워크 내에서의 IP주소는 유일해야 한다.
  • 총 32비트로 구성되어 있다. 8비트가 하나의 옥텟이 된다.
  • 옥텟은 10진수로 표기된다.

클래스

ICANN : IP 주소를 관리하는 조직. 기업이나 사업체에게 규모에 맞는 IP주소를 할당한다.

클래스 : IP 주소의 범위, A부터 E까지 존재. 최초 옥텟의 맨앞 비트로 클래스를 판별한다. 네트워크의 개수와 호스트(컴퓨터 번호)의 개수는 반비례한다.

클래스풀 어드레싱 : 클래스로 나누어 IP주소를 할당하는 방식. 현재 사용되지는 않는다.

네트워크 주소 : 호스트 번호가 전부 0인 경우. 네트워크 자체를 의미한다.

브로드캐스트 주소 : 호스트 번호가 전부 1인 경우. 전체가 수신하는 주소다.

서브네팅

서브네트워크(Subnetwork), 서브넷(Subnet) : 클래스에서 분할한 작은 네트워크.

서브네팅 : 서브넷을 만들기 위해 클래스의 호스트 번호를 서브넷 번호와 호스트 번호로 분할하는 행위. 서브넷은 해당 네트워크 내부에서만 유효할 뿐, 외부에서 볼 때는 클래스와 차이가 없다.

서브넷마스크 : 서브넷 번호의 범위를 알기 위해 네트워크 번호(서브넷 번호 포함)의 비트를 1로, 호스트 번호를 0으로 해서 32비트로 표현한 것.

클래스리스 어드레싱

클래스리스 어드레싱 : 클래스의 구분을 없앤 어드레싱. 클래스에 구애받지 않고 필요에 따른 비트 수를 정한다.

슈퍼넷 : 여러 개의 네트워크를 통합해서 1개로 하는 것.

프리픽스 길이 : 네트워크 번호의 길이를 나타내는 값, IP 주소와 같이 쓰인다. /[네트워크 길이] 식으로 표현한다.

DHCP

DHCP : IP 주소를 동적으로 할당해주는 프로토콜, 서버와 클라이언트로 이루어져 할당할 IP 주소를 관리한다. DHCP 클라이언트가 DHCP 서버에게 IP 주소를 요청하면 서버가 네트워크 내의 IP 주소 풀에서 사용되지 않은 주소를 선택하여 할당한다. 대여 기간이 지나면 자동 회수한다.

DHCP 메세지 : [이데넷 헤더][IP헤더][UDP 헤더][DHCP 메시지]에 위치해있다. 동적 호스트 설정 프로토콜이기에 IP 주소 뿐만 아니라 다른 네트워크의 설정 정보도 보낼 수 있다.

ARP

ARP : 주소 해결 프로토콜, 수신처의 IP주소에 대응하는 MAC주소를 얻을 수 있다.

ARP 테이블 : IP 주소와 MAC 주소의 대응표.

ARP의 동작

  1. 송신을 원하는 컴퓨터는 자신의 ARP 테이블을 참조한다.
  2. ARP 테이블에 수신처 IP주소에 해당하는 MAC 주소가 없을 경우 ARP 요청을 브로드캐스트한다.
  3. ARP요청의 수신처를 확인하고 자신인 경우 응답, 그렇지 않은 경우 파기한다.
  4. ARP 응답을 받으면 ARP 테이블에 응답 결과를 추가로 기술한다.

DNS

도메인 : 컴퓨터의 이름. 유일무이하다. IP주소와 유사한 개념.

ICANN : 도메인 명을 관리하는 조직.

DNS(Domain Name System) : 도메인 명과 IP 주소를 대응시켜 도메인 명을 IP 주소로 치환하는 시스템.

데이터 통신

데이터를 보내기 위해서는 4개의 주소가 필요하다.

  • 송신처 MAC 주소 : 인터페이스에서 자동으로 안다.
  • 송신처 IP 주소 : 수동으로 설정되거나 DHCP를 통해 자동으로 할당받는다.
  • 수신처 IP 주소 : 수신처 도메인 명을 사용한 DNS를 통해 IP 주소를 변환한다.
  • 수신처 MAC 주소 : 수신처 IP를 사용한 ARP 요청으로 대응하는 MAC 주소를 받아온다.

4. 라우팅

주소와 경로

  • MAC 주소는 같은 네트워크 내에서의 수신처를 결정하고, IP 주소는 수신처의 컴퓨터를 결정한다.
  • MAC - 다음 수신처, IP : 최종 수신
  • 라우터는 바로 다음 경로만 알 뿐 경로를 실제로 결정하지는 않는다.
  • 라우터가 없으면 다른 네트워크에 데이터그램을 보낼 수 없다.
  • 다른 네트워크 수신이면 라우터로, 동일 네트워크 수신이면 직접 통신한다.

홉 바이 홉 : 반복해서 다음 길을 제시해가는 방식.

라우터

  • 네트워크 간 데이터 전송을 가능하게 하는 장치.
  • 다른 네트워크에 데이터 그램을 보내는 역할을 한다.
  • 복수의 인터페이스를 가질 수 있다.
  • 라우터의 각 인터페이스는 각각의 네트워크에 소속되어 있는 형태다. 각각 다른 IP 주소를 가진다.
  • 데이터그램의 수신처 IP 주소를 근거로 다음에 송신하는 라우터를 결정한다. - 라우팅
  • 복수의 네트워크끼리 연결하는 역할을 한다.
  • 필터링으로 라우팅하는 데이터를 분류할 수 있다.

라우팅 테이블 : 라우터가 수신한 패킷이 수신처까지 도달하기 까지 최적의 경로가 담겨 있는 일종의 지도.

최장일치의 룰(Longest Match) : 데이터그램의 수신처 IP 주소와 수신처 네트워크 주소를 비교해서 수신처 IP 주소와 비트가 일치하는 것을 선택한다.

메트릭 : 라우팅 프로토콜이 최적 경로를 선택하는 기준.

디폴트 게이트웨이

  • 브로드캐스트는 라우터를 넘어서 전송할 수가 없다.
  • 브로드캐스트 도메인 : 브로드캐스트가 도달하는 범위
    • 충돌 도메인은 스위치가 구분하고, 브돌드캐스트 도메인은 라우터가 구분한다.
    • 허브는 그 어느쪽에도 영향을 미치지 않는다.
    • 브로드캐스트 도메인 == 네트워크
  • 수신처의 MAC 주소를 알아내는 방법은 ARP을 통해서, 그러나 ARP는 브로드캐스트이다.
    • 다른 네트워크에 전송하지 않기에 ARP는 수신처에 도달할 수 없다.
    • 디폴트 게이트웨이가 네트워크의 출입구 역할을 한다.
  • 다른 네트워크로 데이터를 전송하려면 디폴트 게이트웨이로 데이터를 보내서 다른 네트워크로 전송한다.
    • 컴퓨터가 최초로 데이터를 보내는 수신처는 디폴트 게이트웨이가 된다.
    • 동일 네트워크일 시 바로 ARP 실행, 다른 네트워크일 시 디폴트 게이트웨이로 ARP 실행.
      • 디폴트 게이트웨이는 자기 자신의 MAC 주소를 송신처로 해서 다음 수신처에 ARP를 실행.
      • 컴퓨터는 다른 네트워크와 통신할 것을 대비해 디폴트 게이트워크의 IP 주소를 미리 설정한다.

라우팅

  • 라우터는 라우팅 테이블에서 수신처 네트워크를 찾아 만약 존재하지 않는다면 수신처 불명으로 데이터그램을 파기한다. 스위치와는 정반대.
  • 라우터는 최적의 경로를 찾기 위해 다른 네트워크 경로를 모두 알아야만 한다.
  • 알고 있는 경로 중 최적의 경로를 선택해서 라우팅 테이블을 작성한다.
    • 정적 라우팅
      • 수동으로 경로를 입력, 입력한 경로가 문제가 생길 경로 수동으로 수정해줘야 한다.
    • 동적 라우팅
      • 라우터가 자동으로 정보를 서로 교환해서 경로를 알아낸다. 라우터끼리 자동으로 정보를 서로 교환해서 경로를 알아냄.
      • 데이터를 서로 주고 받으면서 회선 전송을 압박함. 데이터 전송에 사용할 분량이 줄어든다.
      • 서로 교환한 정보를 가지고 경로 계산 처리 때문에 데이터그램의 전송이 늦어질 수 있다.
      • 모든 라우터가 동일한 정보를 가지는, 컨버전스가 되어야 한다.

라우팅 프로토콜

대규모 네트워크에서는 장애가 발생했을 때 우회로를 만드는 등 중복성 유지를 위해 동적 라우팅이 필수로 사용된다.

자율화 시스템(Autonomous System) : 하나의 관리 단체에 의해 관리되는 네트워크 집합체. 인터넷에 존재하는 수많은 네트워크 중 같은 조직이 관리하는 네트워크를 AS로 통합한다.

라우팅 프로토콜 : 근접해 있는 라우터 간의 네트워크 정보를 서로 교환하기 위한 규칙. 정보교환을 언제, 어떻게, 누구에게, 어떤 걸 전송할 지를 결정한다.

  • 라우팅 프로토콜이 정한 방식에 따라 정보를 교환해 모든 라우터가 동일한 경로 정보를 가지게 해서 컨버전스 상태에 도달한다. 교환한 정보를 기준으로 최적의 경로를 라우팅 테이블에 기록한다.
  • 사용하는 장소에 따른 분류
    • EGP(Exterior Gateway Protocol) : AS 간 라우팅용 프로토콜의 종류.
      • EGP
      • BGP
    • IGP(Interior Gateway Protocol) : AS 내부 라우팅용 프로토콜의 종류.
      • RIP
      • OSPF
      • IS-IS
      • EIGRP

RIP

메트릭 : 최적의 경로를 판단하는 기준, 중계하는 라우터 수, 회선 속도, 정체 상태, 에러 발생률 등의 판단 기준에 따라 라우팅 프로토콜에 의해 결정된 값을 계산해서 최소 값을 갖는 것을 최적의 경로로 결정한다. RIP에서 사용하는 메트릭은 홉 수(통과하는 라우터의 수)이다.

라우팅 업데이트 : RIP에서 다른 라우터와 교환하는 정보를 일컫는 말. 30초에 한 번 라우팅 테이블을 그대로 교환한다. 일정 횟수(6번) 수신 받지 않는다면 해당 라우터에 장애가 생겼다고 간주하고 라우터를 사용하는 경로를 파기한다.

  • 업데이트를 수신하면, 자신이 모르는 네트워크를 테이블에 추가하는데, 업데이트를 보내 온 라우터를 그 앞의 네트워크에의 중계 라우터로, 업데이트를 받을 인터페이스를 그 앞의 네트워크에의 송신 인터페이스로 정하도록 하는 것.

ICMP

ICMP(Internet Control Message Protocol) : 인터넷 제어 메세지 프로토콜, 에러 보고 프로토콜. 네트워크의 제어, 관리에 사용되는 프로토콜이다.

ICMP 메세지 : ICMP에서 사용되는 정보. IP 데이터그램의 페이로드에 TCP 세그먼트나 UDP 데이터그램을 대신해서 들어간다. 크게 2종류의 메세지, 11 종류의 타입이 존재한다. 각 타입마다 사유에 해당하는 코드를 종류에 맞게 넣는다.

  • Query 메세지
    • 상태를 조사하기 위한 메세지
  • Error 메세지
    • 에러를 통지하기 위한 메세지

TTL(Time to Live) : IP 데이터그램의 생존시간, IP 데이터그램의 TTL은 라우터를 경유할 때마다 1씩 줄어들고, 0이 되면 해당 데이터그램은 파기된다. 리눅스엣는 64개, 윈도우에서는 128개가 TTL의 기본값이다.

Echo & Time Exceeded

  • Echo(0, 8)
    • 에코 요청, 에코 응답. 각각 ICMP 메세지의 타입 중 0, 8에 해당.
    • 송신 측은 에코 요청을 보내고, 수신 측은 에코 응답을 보내는 간단한 구조.
    • ping : Echo 개념을 이용해서 임의의 수신처에게 에코 요청을 보내는 소프트웨어.
      • 에코 요청을 주고 받는 것으로 송수신 측간의 통신이 가능한지, 네트워크 상태는 어떤지를 알 수 있다.
  • Time Exceeded(11)
    • TTL이 만료된 패킷을 파기할 때, 파기한 것을 통지하는 메시지.
    • traceroute : 네트워크 체크용 소프트 웨어. 수신처까지의 경로를 가르쳐준다.

5. 커넷션과 포트 번호

4계층 : 전달하거나 전달된 데이터에 대해 필요한 처리를 한다. 흐름 제어, 에러 복구, 애플리케이션 식별을 담당한다.

흐름 제어 : 처리 능려글 넘어선 정보를 받았을 때 넘쳐 흐르는 것을 방지하는 방식.

  • 데이터를 주고 받는 것은 애플리케이션.
  • 애플리케이션은 내부적으로 포트에 의해 통신기능과 접속되어 있다.
  • 어느 애플리케이션이 수신한 데이터인지 결정하기 위해 포트 번호라는 것이 부여된다.
  • 통신에 필요한 처리를 하기 위해 사용되는 프로토콜인 TCP, UDP.

커넥션과 세그먼트

커넥션 : TCP에서의 애플리케이션 간의 송수신하는 데이터의 길. 가상적인 통신로로 사전에 전용 통신로를 확보해 둠으로써 확실하게 데이터를 보낸다.

커넥션 확립 : 실제 통신로와는 별개로 가상의 통신로를 만들어 내는 것.

TCP 헤더 : 20옥텟으로 이루어졌다. 6비트의 제어 비트는 TCP의 데이터의 의미를 나타낸다.

3-way handshaking - TCP에서 커넥션 확립을 하는 과정. ACK을 보내고, ACK와 SYN을 받고, 다시 ACK를 보내는 방식.

윈도우 제어

시퀀스 번호 : TCP에서 에러를 복구하기 위해 사용하는 방식. 보내는 데이터의 앞 부분에 있는 옥텟 번호.

확인 응답 번호 : 다음에 받고 싶은 데이터의 선두 옥텟 번호.

RTT(Round Trip Time) : 확인응답이 돌아오는데 걸리는 시간. 초기값을 3초로 정해두고, 네트워크의 빠르기에 따라 적절한 시간으로 동적 변경한다.

윈도우 제어 : 복수의 세그먼트를 한꺼번에 전송하고 확인응답을 받는 방식. 버퍼에 해당되는 윈도우 사이즈를 이용해서 처리할 수 있는 만큼의 세그먼트를 받고 오버플로우를 막는다.

포트 번호

애플리케이션과 TCP/IP 통신기능을 연결하는 역할을 한다.

포트 번호를 통해 각각의 데이터가 어느 애플리케이션으로부터 송신되었는지, 수신되었는지를 결정한다.

포트 번호를 알 수 있는 방법은 없기에, 자주 사용하는 서버 애플리케이션은 사전에 정해진 번호를 사용함으로써 서비스를 제공할 수 있도록 한다.

UDP

TCP의 정반대, 그 어떤 처리도 하지 않는 대신 빠른 전송이 가능하다.

고속성이나 실시간 송수신, 브로드캐스트가 필요한 애플리케이션에 사용된다.

네트워크 주소 변환

  • 인터넷에 접속하지 않고 TCP/IP를 사용할 경우 사설 IP 주소를 사용할 수 있다.
  • NAT 테이블을 통해 사설 IP 주소와 라우터의 글로벌 IP 주소를 일시적으로 변환할 수 있다.

NAPT

NAPT : IP 주소 뿐만 아니라 포트 번호로 변환함으로써 하나의 글로벌 IP 주소로 복수의 컴퓨터가 접속할 수 있다. 하나의 IP 주소에 포트 번호로 사설 IP를 구분함.

5-7계층

통합해서 하나의 프로토콜이 된 경우가 많기에 TCP/IP 모델에서는 한 개의 계층으로 취급한다.

  • 5계층 : 세션계층. 애플리케이션 간의 의논의 관리.
    • 다이얼로그 제어 : 데이터의 송수신을 세션으로 성립하도록 관리한다.
  • 6계층 : 표현계층. 데이터 형식의 전송을 위한 변환.
    • 하드웨어나 OS에 따른 차이를 없앤 데이터 교환을 가능케 함.
    • 압축이나 암호화 수행.
  • 7계층 : 응용계층
    • 애플리케이션을 위한 처리.
    • 애플리케이션의 목적에 따라 네트워크 서비스를 제공.

OSI 참조 모델

  • 7개의 계층으로 나뉘어 있고, 각각의 계층은 독립되어 있다.
  • 각 계측은 하위 계층의 상황에 대해 생각하지 않는다.
profile
씨앗 개발자

0개의 댓글