강의영상

https://www.youtube.com/watch?v=y9nlT52SAcg&list=PL0d8NnikouEWcF1jJueLdjRIC4HsUlULi&index=4 

모델의 종류

  • TCP/IP 모델
  • OSI 7 Layer 모델

TCP/IP 모델

현재 인터넷에서 컴퓨터들이 서로 정보를 주고받는데 쓰이는 통신 규약(프로토콜) 모음

1계층: 네트워크 인터페이스

2계층: 네트워크

3계층: 전송

4계층: 응용

 

OSI 7 Layer - 더 중요

1984년 네트워크 통신을 체계적으로 다루는 ISO에서 표준으로 지정한 모델

1계층: 물리

2계층: 데이터 링크 - 이더넷

3계층: 네트워크 - IP, ICMP, ARP

4계층: 전송 - TCP, UDP

5계층: 세션

6계층: 표현

7계층: 응용 - HTTP

 

두 모델 비교

공통점

- 계층적 네트워크 모델

- 계층간 역할 정의

 

차이점

- 계층의 수 차이

- OSI 역할 기반, TCP/IP는 프로토콜 기반

- OSI는 통신 전반에 대한 표준

- TCP/IP는 데이터 전송기술 특화

 

네트워크를 통해 전달되는 데이터, 패킷

패킷이란?

- 네트워크 상에서 전달되는 데이터를 통칭하는 말

- 데이터의 형식화된 블록

- 패킷은 제어 정보와 사용자 데이터로 이루어지며, 사용자 데이터는 페이로드라고도 한다

- 패킷은 프로토콜들의 모음: 프로토콜들이 여러 겹으로 포장되어 있는 구조로 생각하자

 

구조

  • header  |  payload  | footer (대부분 footer는 사용 x)
    • ex
      • Ethernet  |  IPv4  |  TCP  |  HTTP (여러 프로토콜로 캡슐화된 형태)

인캡슐레이션

* 하위계층보다 상위 계층이 위에 오는 경우는 없다.

디캡슐레이션

데이터를 받을 때: 안에 들어있는 양식대로(순서대로) 하나씩 확인 (디캡슐레이션)

 

PDU: 계층별 패킷의 이름 (계층별로 이름이 다르다)

4계층의 PDU = 세그먼트: TCP | 데이터

3계층의 PDU = 패킷: IPv4 | TCP | 데이터

2계층의 PDU = 프레임: 이더넷 | IPv4 | TCP | 데이터

 

실습

1. 프로토콜의 캡슐화된 모습과 계층별 프로토콜들을 확인해보기

- Wireshark를 이용해 패킷을 캡쳐해보고 해당 패킷이 어떻게 캡슐화 되었는지 자세히 살펴본다.

3계층 (ARP) 캡처 모습

-> 이더넷은 footer 사용

 

영상

https://www.youtube.com/watch?v=Av9UFzl_wis&list=PL0d8NnikouEWcF1jJueLdjRIC4HsUlULi&index=1 

앞으로 배울 내용

  • 네트워크란 무엇인가?
  • 네트워크의 분류
  • 네트워크의 통신 방식: 네트워크에서 데이터는 어떻게 주고받는가?
  • 네트워크 프로토콜
  • 따라학잇: Wireshark

 

네트워크란 무엇인가?

- 노드들이 데이터를 공유할 수 있게 하는 디지털 전기통신망의 하나이다.

 

인터넷이란?

- 문서, 그림 영상과 같은 여러가지 데이터를 공유하도록 구성된 세상에서 가장 큰 전세계를 연결하는 네트워크

- www를 인터넷으로  착각하는 경우가 많은데 www는 인터넷을 통해 웹과 관련된 데이터를 공유하는 것

 

네트워크의 분류

크기에 따른 분류

  • LAN (Local Area Network): 가까운 지역을 하나로 묶은 네트워크
  • WAN (Wide Area Network): LAN과 LAN을 다시 하나로 묶은 것 (멀리 있는 지역을 한데 묶은 네트워크)

연결 형태에 따른 분류

  • Star 형: 중앙 장비에 모든 노드가 연결 - 일반적으로 가정집에서는 공유기를 통해서 핸드폰, 컴퓨터, TV 등등이 연결된다. 이 때 만약 공유기가 고장난다면?? -> 가까운 지역에 있는 연결(LAN)에 주로 사용
  • Mesh 형: 여러 노드들이 서로 그물처럼 연결 - WAN에 주로 사용 
  • 혼합형: 실제 인터넷은 여러 형태를 혼합한 형태

네트워크의 통신 방식

  • 유니캐스트: 특정 한 사용자와만 1:1 통신
  • 멀티 캐스트: 특정한 다수와 1:N으로 통신
  • 브로드 캐스트: 네트워크에 있는 모든 대상과 통신

 

네트워크 프로토콜 

프로토콜이란?

- 프로토콜은 네트워크에서 노드와 노드가 통신할 때 어떤 노드(from)가 어떤 노드(to)에게 어떤 데이터를 어떻게 보내는지 작성하기 위한 양식

- 택배는 택배만의 양식, 편지는 편지만의 양식, 전화는 전화만의 양식이 있듯, 네트워크도 프로토콜이라는 네트워만의 양식이 있다.

 

여러가지 프로토콜

  • 가까운 곳과 연결할 때: Ethernet 프로토콜 (MAC 주소)
  • 멀리 있는 곳과 연락할 때: ICMP, IPv4, ARP (IP 주소)
  • 여러가지 프로그램으로 연락할 때 TCP, UDP (포트번호)
  • 패킷: 여러 프로토콜들로 캡슐화 함 (Ethernet + IPv4 + TCP + 데이터)

Reference

 

How to choose an AWS profile when using boto3 to connect to CloudFront

I am using the Boto 3 python library, and want to connect to AWS CloudFront. I need to specify the correct AWS Profile (AWS Credentials), but looking at the official documentation, I see no way to

stackoverflow.com

 

2 - Sessions — AWS Data Wrangler 2.15.1 documentation

How Wrangler handle Sessions and AWS credentials? After version 1.0.0 Wrangler absolutely relies on Boto3.Session() to manage AWS credentials and configurations. Wrangler will not store any kind of state internally. Users are in charge of managing Sessions

aws-data-wrangler.readthedocs.io

 

dev = boto3.session.Session(profile_name='dev')

df = wr.athena.read_sql_query(
	boto3_session=dev,
	sql='''
    	select *
        from schema.table
    '''
)

Local에 이미 내 개인 계정 github id가 등록되어 있다.

회사 github을 연결하고 싶다

 

https://stackoverflow.com/questions/4220416/can-i-specify-multiple-users-for-myself-in-gitconfig

 

Can I specify multiple users for myself in .gitconfig?

In my ~/.gitconfig, I list my personal email address under [user], since that's what I want to use for Github repos. But, I've recently started using git for work, too. My company's git repo allow...

stackoverflow.com

 

회사에서 PR을 열었다가, 오류를 발견하고 PR을 닫았다.

내 branch에 올라간 commit을 revert 하는 방법은 다음과 같다.

 

로컬 

git reset --hard HEAD~1

로컬 commit이 이전 log로 돌아간다.

 

리모트

git push -f origin harry-l

리모트 브랜치인 harry-l의 커밋 상태가 취소 된다.

 

Reference

+ Recent posts