목록전체 글 (261)
And Brain said,
TCP 헤더 TCP는 연결 지향형(Connection-Oriented) 서비스를 제공하고 신뢰성 있는 데이터 전송을 보장한다. 출발지 포트 번호(Source Port Number) 출발지 호스트의 포트 번호를 정의한 16비트 필드이며 임의 번호를 사용한다. 목적지 포트 번호(Destination Port Number) 목적지 호스트의 포트 번호를 정의한 16비트 필드이며, 대부분의 Well-Known Port Number를 사용한다. 순서 번호(Sequence Number) TCP 세그먼트들에 대한 순서 번호를 표시한다. 목적지에서 재조립할 때 사용한다. 수신 확인 응답 번호(Acknowledge Number) 수신 장치에서 발신 장치로 세그먼트의 전송 성공 여부를 알려주기 위해 사용한다. 헤더 길이(H..
TCP/IP란? 인터넷을 사용하는 모든 통신의 기본적인 프로토콜이다. 한 개의 프로토콜이 아닌 여러가지 프로토콜의 조합이다. TCP/IP를 기반으로 BAN, PAN, LAN, MAN, WAN 구간의 장치들이 원할히 데이터를 주고 받을 수 있다. 4개의 계층으로 표현된다. TCP는 서비스를, IP는 주소를 의미한다. TCP는 서비스를, IP는 주소를 의미한다. 수많은 프로토콜들이 IP 주소를 기반으로 동작한다. TCP/IP 계층 네트워크 접속 계층(Network Access Layer) OSI 참조 모델의 물리 계층과 데이터링크 계층의 역할을 수행한다. 프레임의 송신과 수신을 담당한다. ARP(Address Resolution Protocol) 목적지의 MAC 주소를 모를 경우 이를 알아내기 위해서 ..
나의 서버 관리 기록 2022 - 11 - 23 1일차 분명 끝인 줄 알았지만 서버의 사후 관리도 나한테 맡겼다. 한동안 백엔드 개발을 하면서 이 서버의 관리자로도 일해야할 것 같으니 기록지도 계속 쓰기로 하였다. 일단, 백엔드의 포트도 열어주는 작업을 했다. 그런데 나는 방화벽은 로컬 포트와 원격 포트를 특정 하나의 포트만 열고 싶었는데 원격 포트로 들어올때 내부적으로 포트가 변경되는지 모든 포트로 열지 않는 이상 그 포트로 포워딩이 되질 않았다. 그 후, MySQL 포트를 열어주는 작업을 했는데 이 또한 한 번에 되지 않았다. 두 가지 이유로 안 되었었는데, 첫 번째는 MySQL이 내부적으로 로컬 접속만 허용하고 기본적으로 외부 접속을 막아놓고 있었다. 그래서 이를 허용해주는 작업이 필요했다. 또, ..
나의 서버 환경 구축 기록 - 5일차 2022 - 11 - 22 5일차 Virtual Box를 리셋했다. GUI 환경이 설치된 vdi 이미지 파일을 주셔서 그냥 거기서 처음부터 하는게 빠르지 않겠냐라는 말 한 마디에 서버에 깔았던 모든 것이 사라졌다. 그래도 해놨던걸 적어놓은 덕 + GUI 덕분에 빠르게 이전 단계로 복구했다. 이제 포트포워딩이 제대로 됬는지 드디어 확인을 했고 서버에 이클립스와 Java를 설치했다. 외부 컴퓨터의 ssh 접속은 방화벽을 뚫어주고 NAT 네트워크로 포트포워딩 해주면, 외부컴퓨터 - (포트포워딩) - 원격 서버 - (포트포워딩) - 가상머신 이렇게 포트포워딩 완료다. ssh 접속은 ssh 비밀번호가 아니라 계정 비밀번호로 들어가는거였다는 점... java 1.8버전 설치는 ..
나의 서버 환경 구축 기록 - 3일차 오후 2022 - 11 - 20 3일차 운동하고 학은제 강의 듣느라 오랜 시간을 쓰진 못했다. 일단 포트포워딩 부분에서는 나의 지인이 사내 공유기에서도 포트포워딩해야한다고 얘기해주었다. 고로 이 부분은 내일 하기로 하고 사내 Gradle 프로젝트를 jar 파일 형태로 빌드시켜서 Dockerfile로 다시 빌드시키는 작업을 했다. discovery 와 config 프로젝트 두 개만 빌드하는데도 쉽지 않았다. 일단 rabbitmq 컨테이너를 띄웠고 $ docker run -d --name rabbitmq -p 5672:5672 -p 15672:15672 rabbitmq:management 이후 zipkin 컨테이너를 띄웠다. $ docker run -d -p 9411:9..