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

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

开发者学堂课程【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

相关文章
|
6月前
|
消息中间件 网络协议 C++
C/C++网络编程基础知识超详细讲解第三部分(系统性学习day13)
C/C++网络编程基础知识超详细讲解第三部分(系统性学习day13)
|
29天前
|
Ubuntu 网络安全 图形学
Ubuntu学习笔记(二):ubuntu20.04解决右上角网络图标激活失败或者消失,无法连接有线问题。
在Ubuntu 20.04系统中解决网络图标消失和无法连接有线网络问题的方法,其中第三种方法通过检查并确保Windows防火墙中相关服务开启后成功恢复了网络连接。
329 0
Ubuntu学习笔记(二):ubuntu20.04解决右上角网络图标激活失败或者消失,无法连接有线问题。
|
5月前
|
存储 算法 网络虚拟化
【计算机网络】学习笔记,第三篇:数据链路层
现在的光纤宽带接入 FTTx 都要使用 PPPoE 的方式进行接入。在 PPPoE 弹出的窗口中键入在网络运营商购买的用户名和密码,就可以进行宽带上网了 利用 ADSL 进行宽带上网时,从用户个人电脑到家中的 ADSL 调制解调器之间,也是使用 RJ-45 和 5 类线(即以太网使用的网线)进行连接的,并且也是使用 PPPoE 弹出的窗口进行拨号连接的
79 5
|
27天前
|
机器学习/深度学习 数据可视化 Linux
Seaborn可视化学习笔记(一):可视化神经网络权重分布情况
这篇文章是关于如何使用Seaborn库来可视化神经网络权重分布的教程,包括函数信息、测试代码和实际应用示例。
34 0
|
3月前
|
机器学习/深度学习 自然语言处理 并行计算
【深度学习+面经】Transformer 网络学习笔记
Transformer模型的核心概念、优缺点以及在多个领域的应用,并提供了针对Transformer架构的面试问题及答案。
146 2
|
6月前
|
监控 Java 数据库连接
【后台开发】TinyWebser学习笔记(1)网络编程基础知识
【后台开发】TinyWebser学习笔记(1)网络编程基础知识
54 3
|
6月前
|
网络协议 Linux 网络架构
|
6月前
|
网络协议 网络架构 数据格式
网络编程基础知识
网络编程基础知识
41 0
|
6月前
|
网络协议 Docker 容器
Ubantu docker学习笔记(七)容器网络
Ubantu docker学习笔记(七)容器网络
|
6月前
|
网络协议 网络架构 数据格式
计算机网络学习笔记(一)
OSI七层网络模型旨在支持异构网络互联,从下到上分别为物理层(传输比特流)、数据链路层(帧传输,如交换机)、网络层(IP数据包路由,如路由器)、传输层(TCP/UDP,端到端通信)、会话层(管理会话)、表示层(数据格式转换)和应用层(用户接口,如FTP, SMTP)。每一层负责不同的通信功能,并通过协议如PPP, IP, TCP等协同工作。
36 0