어찌보면 핑계일수도 있다

 

5월 27일쯤 몸상태가 이상하여 병원에 갔고

 

수술을 했다

 

의사선생님이 재발만 안하면 괜찮을거라하여 멘탈을 잡고 공부를 하려했다

 

근데 2주에 한번꼴로 계속 재발을 햇고

 

재발할때마다 병원가서 수술을 했다

 

어느덧 2달이 넘도록 시간이 흘렀고

 

병원을 믿지 못한 나는 친구 그리고 부모님의 조언대로 병원을 옮겼다.

 

옮긴 병원에서는 수술범위도, 회복 기간도 훨씬 길었다

 

너무 힘든시간이였다

 

현재는 마지막 수술하고 3주가 되어가고있다

 

다음주에 병원을가서 또 검사를 받아야한다

 

다만 육안으로 볼때 내가볼땐 재발 조짐이 보이진 않지만

 

이게 일주일사이에 확 재발하기도 하나보다

너무 무섭다

 

마지막 수술은 수술을 크게해서 그런지 일상생활을 거의 못하게 됐었다

3주가 지난 지금 조금씩 회복이 되어가고있어서 그나마 조금씩 공부하고 나날을 보내고있다

 

아직 완전히 회복된것도 아니고 다음주에 병원가서 또 검사를 받아야 하지만

제발 또 수술을 안했으면 좋겠네

 

공부는 언제할수있을까 취업도 해야하는데

 

상황이 여러가지로 힘들게됐다

 

너무 42seoul에 집중만 했다

그러고나서 생각하니

 

취업을 위한 공부로 하긴 해야겠다

 

앞으로는 취업준비에 열중하도록

1. DHCP

우리가 유동IP 를 사용할때 이 IP는 누가 결정할까? --> 바로 DHCP 가 결정하게 된다,

이 DHCP 는 임의의 임대기간을 설정하여 IP를 부여해주게 된다.

 

IP 를 사용하는동안 임대기간이 종료되게 되면, DHCP 서버에 임대기간 갱신을 요청하고, 

DHCP 는 이에 따라 임대기간을 갱신시켜준다.

 

1 - 1. DHCP 임대 절차

 

1) DHCP Discover

  • 패킷 방향 : 클라이언트 -> DHCP 서버
  • 브로드캐스트 패킷 : Destination MAC = FF:FF:FF:FF:FF:FF
  • 의미 : 클라이언트가 DHCP 서버를 찾기 위한 메시지. 그래서 LAN상에(동일 subent상에) 브로드캐스팅을 하여 "거기 혹시 DHCP 서버 있으면 내게 응답 좀 해 주세요"라고 단말이 메세지를 보낸다. 이 Discover 패킷에는 IP 주소가 필요한 호스트의 MAC 주소가 담겨져 있어서 DHCP 서버가 응답할 때 패킷을 수신할 수 있게 된다.
  • 주요 파라미터(패킷 내용) :
    • Client MAC : 클라이언트의 MAC 주소

2) DHCP Offer

  • 패킷 방향 : DHCP 서버 -> 클라이언트
  • 브로드캐스트 메시지 : Destination MAC = FF:FF:FF:FF:FF:FF 혹은 유니캐스트. 
  • 이는 클라이언트가 보낸 DHCP Discover 메시지 내의 Broadcast Flag의 값에 따라 달라지는데, 이 Flag=1이면 DHCP 서버는 DHCP Offer 메시지를 Broadcast로, Flag=0이면 Unicast로 보내게 된다.
  • 의미: DHCP 서버가 "저 여기 있어요~"라고 응답하는 메시지. 단순히 DHCP 서버의 존재만을 알리지 않고, 클라이언트에 할당할 IP 주소 정보를 포함한 다양한 "네트워크 정보"를 함께 실어서 클라이언트에 전달한다.
  • 주요 파라미터(패킷 내용) :
    • Client MAC: 단말의 MAC 주소
    • Your IP: 단말에 할당(임대)할 IP 주소
    • Subnet Mask (Option 1)
    • Router (Option 3): 단말의 Default Gateway IP 주소
    • DNS (Option 6): DNS 서버 IP 주소
    • IP Lease Time (Option 51): 단말이 IP 주소(Your IP)를 사용(임대)할 수 있는 기간(시간)
    • DHCP Server Identifier (Option 54): 본 메시지(DHCP Offer)를 보낸 DHCP 서버의 주소. 2개 이상의 DHCP 서버가 DHCP Offer를 보낼 수 있으므로 각 DHCP 서버는 자신의 IP 주소를 본 필드에 넣어서 단말에 보냄.

3) DHCP Request

  • 패킷 방향: 클라이언트 -> DHCP 서버
  • 브로드캐스트 메시지 : Destination MAC = FF:FF:FF:FF:FF:FF
  • 의미: 단말은 DHCP 서버(들)의 존재를 알았고, DHCP 서버가 단말에 제공할 네트워크 정보(IP 주소, subnet mask, default gateway등)를 알았다. 이제 단말은 DHCP Request 메시지를 통해 하나의 DHCP 서버를 선택하고 해당 서버에게 "단말이 사용할 네트워크 정보"를 요청한다.
  • 주요 파라미터(패킷 내용) :
    • Client MAC: 단말의 MAC 주소
    • Requested IP Address (Option 50): 난 이 IP 주소를 사용하겠다. (DHCP Offer의 Your IP 주소가 여기에 들어감)
    • DHCP Server Identifier (Option 54): 2대 이상의 DHCP 서버가 DHCP Offer를 보낸 경우, 단말은 이 중에 마음에 드는 DHCP 서버 하나를 고르게 되고, 그 서버의 IP 주소가 여기에 들어감. 즉, DHCP Server Identifier에 명시된 DHCP 서버에게 "DHCP Request" 메시지를 보내어 단말 IP 주소를 포함한 네트워크 정보를 얻는 것.

4) DHCP Ack

  • 패킷 방향: DHCP 서버 -> 클라이언트
  • 브로드캐스트 메시지 : Destination MAC = FF:FF:FF:FF:FF:FF 혹은 유니캐스트.
  • 이는 단말이 보낸 DHCP Request 메시지 내의 Broadcast Flag=1이면 DHCP 서버는 DHCP Ack 메시지를 Broadcast로, Flag=0이면 Unicast로 보내게 된다.
  • 의미: DHCP 절차의 마지막 메시지로, DHCP 서버가 단말에게 "네트워크 정보"를 전달해 주는 메시지. 앞서 설명한 DHCP Offer의 '네트워크 정보"와 동일한 파라미터가 포함된다.
  • 주요 파라미터(패킷 내용) : DHCP Request 패킷의 파라미터와 동일

 

2. DNS 

우리가 네이버 라는 사이트에 접속하기위해 일반적으로

www.naver.com  을 입력해서 접속하게된다,

 

그럼 naver 의 IP 주소가 www.naver.com   이 되는걸까? 

아니다, 원래의 IP 주소는 따로 있고, 이에 접속하기위해 우리는 DNS 라는것을 이용하는 것이다.

 

DNS 가 IP 주소로 찾아가는 과정은 다음과 같다.

DNS 에 관한 내용은 본 블로그 카테고리의

KITRI - 리눅스 에 보면 자세히 나와있다.

 

출처

https://velog.io/@hidaehyunlee/더-편리한-인터넷을-위해-DHCP-DNS-프로토콜#11-dhcp의-구성

1. OSI 계층 

https://ai-hong.tistory.com/37?category=845057 

 

02. OSI 7Layer & TCP/IP 4Layer

OSI 7Layer 의 각 계층적 구조는 다음과 같다. Application 계층부터 Transport 계층까지를 Network Edge 라고 하며, Network 계층부터 Physcial 계층까지를 Nerwork Core 라고 한다. 1) Network Edge - 인터넷의..

ai-hong.tistory.com

예전에 정리해 놓은 개념이 있어 대체한다.

 

2. TCP

TCP는 OSI 7계층중 전송 계층에서 사용하는 프로토콜이다.

3 way handshake 를 통해 연결을 하며

4 way handshake 를 통해 연결을 종료한다.

--> 서로의 확인과정이 있기때문에 당연 1:1 통신만 가능하며, 신뢰성 연결을 할수있다 하지만 UDP 에 비해 확인과정을 거치기 때문에

연결 속도 전송 속도가 느릴수밖에 없다.

 

2 - 1. 연결과정

1. 연결을 위해 SYN 플래그 전송

2. 연결 확인을 위해 SYN + ACK 전송

3. ACK를 전송하여 연결 확인

 

2 - 2. 연결 종료

1. 사용 다했으니 FIN + ACK 전송

2. 서버는 클라이언트에게 확인 완료를 위해 ACK 플래그 전송

3. 서버는 클라이언트에게 아무 반응이 없다면 FIN + ACK 전송

4. 클라이언트는 서버에세 종료 확인을 위해 ACK 플래그 전송후 연결 종료

 

2 - 3. TCP 의 헤더

- Source Port: 출발지의 포트, 즉 데이터를 보내는 컴퓨터의 포트 정보입니다. 컴퓨터가 갖을 수 있는 포트는 65536개이므로 사이즈가 2바이트인것을 확인하세요.

 

- Destination Port: 반대로 목적지의 포트입니다. 

 

- Sequence Number : 송신 데이터의 일련 번호를 담고 있습니다. 

 

- Acknowledgement Number : 그전의 데이터를 잘 받았다는 표시로 상대방이 다음에 전송할 일련번호를 담고 있습니다. 줄여서 ACK라고 하겠습니다.

 

- HLEN(Header Length) : 헤더의 정보를 담고 있습니다. 4 bits의 워드 단위입니다. 헤더의 길이는 최소 20바이트 ~ 60바이트까지입니다.

 

- Reserved : 예약된 비트입니다. 아직 사용하지 않습니다. 나중을 위해서 남겨두는 비트인 셈이지요.

 

- Control Flags 

FLAG 설명
URG
(Urgent Pointer)
Urgent Pointer의 필드가 유요하다는 의미의 FLAG
ACK
(Acknowledgement)
수신 확인 응답 FLAG
PSH
(Request for push)
송수신 버퍼의 있는 데이터 즉시 처리 요청 FLAG
RST
(Reset the connection)
연결을 강제 중단합니다. TCP가 유지되고 있을때 이 FLAG를 사용하면 그 즉시 연결을 끊어 버립니다. 해커들이 Hijacking을 위해 피해자의 연결을 끊어버릴때 사용합니다. 보통의 정상적인 종료는 아래의 FIN FLAG를 설정합니다.
SYN
(Synchronize sequence number)
연결 설정 FLAG
FIN
(Terminate the connection)
정상 종료의 연결 종료 FLAG

 

- Window Size :  수신자에서 송신자로 보내는 수신자의 윈도우 사이즈입니다. 즉, 수신 버퍼의 여유공간 크기를 의미하게 되지요. 송신자는 이 윈도우 사이즈 범위 내에서 수신측의 수신 확인(ACK)을 확인하지 않고 연속적으로 데이터를 보낼 수 있습니다.

 

- Checksum : 오류를 검사하기 위한 필드입니다. 전체 데이터가 오류가 나 변형되었는지 확인합니다. 

 

- Urgent Pointer : 긴급 데이터의 위치값을 담고 있습니다. 

 

3. UDP

- 비연결성 프로토콜 로서 송신자는 수신자에게 데이터 전송만 할뿐 수신자는 확인과정을 거치지 않는다

- 이러한 특징 때문에 전송 속도가 TCP 보다 훨씬 빠른것을 알수있다.

 

3 - 1. UDP 헤더

- Source Port / Destination Port

 Source Port는 메시지를 보내는 측에서 통신을 위해 사용하는 Port 번호

 Destination Port는 목적지, 즉 메시지를 받는 측의 통신 Port 번호

 

- Total Length

 헤더와 데이터를 합한 사용자 데이터그램의 전체 길이를 정의합니다. UDP 데이터그램의 헤더인 8바이트부터 65507바이트 사이의 값이 됩니다.

 

- Checksum

→ 헤더와 데이터를 모두 포함한 사용자 데이터그램 전체에 대해 오류를 탐지하기 위해 사용됩니다.

 

 

4. TCP 와 UDP 차이점

 

 

출처

https://joycecoder.tistory.com/20

https://velog.io/@hidaehyunlee/TCP-와-UDP-의-차이

https://hwan-shell.tistory.com/271

https://swalloow.tistory.com/77

1. 공인 IP (Public IP Address)

인터넷 사용자의 각각의 네트워크를 식별하기 위해 ISP(인터넷 서비스 공급자)가 제공하는 IP 주소

외부에 공개되어 있는 IP 주소이다.

  • 공인 IP는 전세계에서 유일한 IP 주소를 갖는다.
  • 공인 IP 주소가 외부에 공개되어 있기에 인터넷에 연결된 다른 PC로부터의 접근이 가능하다. 따라서 공인 IP 주소를 사용하는 경우에는 방화벽 등의 보안 프로그램을 설치할 필요가 있다.
  • 우리의 공인 IP를 확인하려면 간단하게 www.naver.com 에 접속하여 " 내 IP 주소 확인" 을 치면 공인 IP 주소를 알수있다.

2. 사설 IP (Private IP Address)

만일 모든 IP 주소가 공인IP 로 되어있다면 어떨까?, 요즘은 각 사람마다 통신할수있는 기기가 1대가 아니다, IP 주소는 2^32 만큼의 갯수 즉, 43억개 가량이 되지만, 한 사람이 아이패드, 노트북, 핸드폰, 데스크톱 총 네개를 가지고있다고 생각해보자

그럼 인당 4개의 IP주소가 할당되어야 하고, 집에서도 인터넷을 사용하기위해 여러개의 IP주소를 한사람이 사용해야한다, 

이렇게 되면 IP 주소가 부족하게되어 결국 모든사람이 인터넷을 사용할수 없게 될것이다 이를 위해 나온것이 사설IP이다, 하나의 IP 주소를 서브넷팅을 통하여 사설 IP로 할당한다,

이 사설IP는 외부에 공개되어 있는것이 아니기 때문에 내부 망 내에서는 자유롭게 통신을 할수 있게된다.

2.1. 사설IP 주소대역

사설IP 주소는 다음 3가지 주소대역으로 고정된다.

  • Class A : 10.0.0.0 ~ 10.255.255.255
  • Class B : 172.16.0.0 ~ 172.31.255.255
  • Class C : 192.168.0.0 ~ 192.168.255.255

그렇다면 사설 IP 만 가지고 외부와 통신을 할수 있을까? 

--> 물론 불가능 하다 사설IP 는 하나의 공인IP 를 서브넷팅을 통해 할당된 주소이다, 따라서 공인IP 를 가지고있는 라우터(공유기) 에서

사설 IP를 각각 뿌려주게 된다. 

그림을 보면 쉽게 이해가 될것이다!

즉, 사설망 끼리의 통신은 가능하고, 사설망에서 공인IP를 거치지 않고 외부의 IP 로는 접근이 불가능 하게 된다!

3. 고정 IP와 유동 IP

고정 IP : 컴퓨터에 고정적으로 부여된 IP로 한번 부여되면 IP를 반납하기 전까지는 다른 장비에 부여할 수 없는 IP 주소
유동 IP : 장비에 고정적으로 IP를 부여하지 않고 컴퓨터를 사용할 때 남아 있는 IP 중에서 돌아가면서 부여하는 IP

인터넷 상에서 서버를 운영하고자 할 때는 공인 IP를 고정 IP로 부여해야 한다는 것이 중요

일반적인 집에서 사용하는 인터넷 서비스 업체는 각 가정마다 공인 IP를 유동 IP로 부여하고, 공유기 내부에서는 사설 IP를 유동 IP로 부여하는 것이 일반적

 

출처 : https://velog.io/@hidaehyunlee/공인Public-사설Private-IP의-차이점

+ Recent posts