网络编程的基础知识 | 学习笔记

简介: 快速学习网络编程的基础知识

开发者学堂课程【Go语言核心编程 - 面向对象、文件、单元测试、反射、TCP编程网络编程的基础知识】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/626/detail/9776


网络编程的基础知识

 

内容介绍:

一、网线,网卡,无线网卡

二、协议(tcp/ip)

三、OSI 与 Tcp/ip 参考模型(推荐 tcp/ip 协议3卷)

四、深入理解:qq 间相互通讯的案例

五、追踪

 

一、网线,网卡,无线网卡

计算机间要相互通讯,必须要求网线,网卡或者无线网卡

image.png

 

二、协议(tcp/ip)

协议是计算机与计算机之间在相互进行交流时认同的并且要用到的协议

1.TCP/IP

TCP/IP(Transmission Control Protocol/internet Protocol)的简写

中文译名为传输控制协议/因特网互联协议,又叫网络通讯协议,这个协议是 Internet 最基本的协议、 Internet 国际互联网络的基础,简单地说,就是由网络层的 IP 协议和传输层的 TCP 协议组成的。

2.具体讲解

比如,张三(A)和李四(B)要进行交流的时候,需要通过语言(协议)来进行

①如果A与B都是中国人,需要通过中文(具体协议,http,ftp,https,smtp...自定义协议)交流

通用的协议比如 http,ftp,https,smtp,是大家都认同的

自定义协议就是一般的结构体

②如果 A 是越南人,B 是中国人,则需要协议进行交流

image.png

3.自定义协议

A 与 B 发送消息:

Type mes stract{

//消息

Id  int

//id号

con Strong

Sendtime string

//发送的时间

Getter map [strring]stiring

//接受者

}


三、OSI 与 Tcp/ip 参考模型(推荐 tcp/ip 协议3卷)

1.Osi 模型(理论)

在网络世界里面有一种模型叫 Osi 模型(理论),

理论上有七层模型分别为应用层、表示层、会话层、传输层、网络层、数据链路层、物理层

 

2. Tcp/ip 模型

实际上只有五层分别为应用层、传输层、网络层、链路层

image.png


四、深入理解:qq 间相互通讯的案例

qq 间相互通讯的案例深入理解如果发送一个 hello 是怎样传送到对方的

1.人物背景

张三的电脑中有一个好友在美国叫李四

他们都用 QQ

张三和李四都已上线

张三在中国,李四在美国,他们相互交流

2.张三(发送者)程序

张三电脑里有 TCP/IP 协议,

第一层叫应用层,第二层叫传输层,第三层叫IP层,第四层叫链路层

还有硬件设备网卡

①张三发送 hello

②hello 经过应用层变为 App| hello,作用是表示程序 App

③经过传输层 TCP头|App| hello,作用是准确的把这个文件包传送到李四方

④经过 IP 层,IP 头|TCP 头|App| hello,作用是记录自己的 IP 地址和对方的 IP 地址

⑤经过链路层帧头|IP 头|TCP 头|App| hello|帧尾

⑤最后变成了一个二进制,数据在此容易被截获,数据会交给网卡,网卡会给网关,再送到路由器

3.李四(接收者)程序

进入李四的网关,网关出去会有很多的路由器来进行接收

在李四电脑进行反向处理

①先进入链路层去掉帧头和帧尾 IP 头|TCP 头|App| hello

②再进入 IP 层 TCP头|App| hello

③传输层 App| hello

④应用层 hello

 image.png


五、追踪

在 windows 系统里面,有专门的指令 ,可以看一个数据包完整的路程和流向

1.演示

追一个包

tracert  

//trace 是追踪的意思,rt 是路由的简称

tracert  www.baidu.com

①请求超时

有些路由器会阻止返回信息,会显示请求超时,表示不返回这个包

通过最多10 个跃点跟踪

一般浏览一个网站就需要经过十多个网站

最终要到 www.shifem.com [111.1].100.91

请求超时说明不反应,不提供信息

②追踪结果不相同

每一次追踪的路由都是不一样的,这是一种非常有意思的现象

例如,一个人写了一个代码,类似于“我是服务器”,所以所有的包都来找他,但是他是假的网关,结果所有的包都出不去了

 image.png

③完整路径追踪

下图是一个完整路径的追踪

image.png

相关文章
|
3月前
|
网络协议 Linux C++
Linux C/C++ 开发(学习笔记十二 ):TCP服务器(并发网络编程io多路复用epoll)
Linux C/C++ 开发(学习笔记十二 ):TCP服务器(并发网络编程io多路复用epoll)
56 0
|
3月前
|
网络协议 Linux C++
Linux C/C++ 开发(学习笔记十一 ):TCP服务器(并发网络网络编程 一请求一线程)
Linux C/C++ 开发(学习笔记十一 ):TCP服务器(并发网络网络编程 一请求一线程)
39 0
|
3月前
|
编解码 网络协议 Oracle
网络编程学习笔记
网络编程学习笔记
|
8月前
|
网络协议 Java 容器
|
8月前
|
存储 缓存 网络协议
网络编程学习笔记
网络编程学习笔记
|
8月前
|
数据采集 网络协议 搜索推荐
|
8月前
|
网络协议 Java 网络性能优化
|
11月前
java202303java学习笔记第三十九天初识网络编程2
java202303java学习笔记第三十九天初识网络编程2
40 0
|
11月前
java202303java学习笔记第三十九天初识网络编程2
java202303java学习笔记第三十九天初识网络编程2
25 0
|
11月前
java202303java学习笔记第三十九天网络编程三要素
java202303java学习笔记第三十九天网络编程三要素
29 0