NO.3day 网络基础
网络基础
1.互联网协议
概念:通过互联网传输数据的标准。
功能:定义计算机如何接入internet,以及接入internet的计算机通信的标准。
2.OSI五层模型
应用层--传输层--网络层--数据链路层--物理层
2.1物理层
将电脑连接起来的物理手段,负责传送0和1的电信号。常用的物理设备有电缆,光缆,双绞线,无线电波。
2.2数据链路层
数据链路层的功能:定义了电信号的分组方式。
以太网协议:
- 一组电信号构成一个数据包,叫做‘帧。
- 每一数据帧分成:报头head和数据data两部分
head:固定18个字节,包括发送者/源地址、接收者/目标地址、数据类型。
Data:46-1500字节。
mac地址:head中包含的源和目标地址由来:ethernet规定接入internet的设备都必须具备网卡,发送端和接收端的地址便是指网卡的地址,即mac地址。
每块网卡出厂时都被烧制上一个世界唯一的mac地址,长度为48位2进制,通常由12位16进制数表示(前六位是厂商编号,后六位是流水线号)。
广播:吧数据包发给本网络的所有计算机,计算机自己判断是否为接收方,如果是,就接收这个包,如果不是,就丢弃这个包。
2.3网络层
网络层:主机到主机的通信。
网络层功能:引入一套新的地址用来区分不同的广播域/子网,这套地址即网络地址。
IP协议:规定网络地址的协议。目前广泛使用的地址是IPV4。
IP地址分为网络部分(标识子网)和主机部分(标识主机)。
子网掩码:示子网络特征的一个参数。它在形式上等同于IP地址,也是一个32位二进制数字,它的网络部分全部为1,主机部分全部为0。
方法:将两个IP地址与子网掩码分别按位与运算,结果相同为同一子网络。
IP地址的作用:为网络上的计算机提供一个唯一的地址——IP地址。
确定哪些地址在同一子网络。
IP数据包:ip数据包也分为head和data部分,无须为ip包定义单独的栏位,直接放入以太网包的data部分。
ARP协议:如果两台主机在同一子网络,使用ARP协议可以得到对方的MAC地址。
2.4传输层
传输层:端口到端口的通信。
传输层功能:建立端口到端口的通信。
端口:每个使用网卡的程序的编号,表示这个数据包到底是哪个程序(进程)使用。
TCP协议:可靠传输,TCP数据包没有长度限制,理论上可以无限长,但是为了保证网络的效率,通常TCP数据包的长度不会超过IP数据包的长度,以确保单个TCP数据包不必再分割。
以太网头-》IP头-》TCP头-》数据
UDP协议:不可靠传输,”报头”部分一共只有8个字节,总长度不超过65,535字节,正好放进一个IP数据包。
以太网头-》IP头-》UDP头-》数据
TCP三次握手和4次挥手
2.5应用层
应用层功能:规定应用程序的数据格式。
3.用户上网流程
本机获取
打开浏览器,输入网址。
DNS协议
HTTP部分内容
TCP协议
IP协议
以太网协议
NO.3day 网络基础的更多相关文章
- 前端学HTTP之网络基础
× 目录 [1]网络 [2]OSI [3]TCP/IP 前面的话 HTTP协议对于前端工程师是非常重要的.我们在浏览网站时,访问的每一个WEB页面都需要使用HTTP协议实现.如果不了解HTTP协议,就 ...
- 开发人员必读openstack网络基础
云计算中的网络非常复杂,需要对网络的基础理论有一定的认识和了解,转载网上针对openstack中涉及到网络概念的文章 开发人员必读openstack网络基础1:什么是L2.L3 开发人员必读opens ...
- iOS网络基础知识
iOS网络基础知识 1.一次HTTP请求的完整过程 (1)浏览器或应用发起Http请求,请求包含Http请求Http(请求),地址(url),协议(Http1.1)请求为头部 (2)web服务器接收到 ...
- 网络基础:NetBIOS
网络基础小补. 利用 NetBIOS 名称与其他计算机通信 网络中的计算机之间必须知道IP地址后才能相互通信.但对人来说IP难以记忆,NetBIOS计算机名称比较容易记忆.当计算机使用 NetBIOS ...
- JAVA基础知识之网络编程——-网络基础(Java的http get和post请求,多线程下载)
本文主要介绍java.net下为网络编程提供的一些基础包,InetAddress代表一个IP协议对象,可以用来获取IP地址,Host name之类的信息.URL和URLConnect可以用来访问web ...
- 网络基础知识、ASP.NET 核心知识(1)*
为什么要写网络? 我原本的计划是这样的,连续两天梳理ASP.NET开发的核心知识.说到这呢,有人问了.“不是说好了做ASP.NET笔记吗?为啥要写网络基础知识?是不是傻?” 原因是这样的.作为网站开发 ...
- Java 网络编程(一) 网络基础知识
链接地址:http://www.cnblogs.com/mengdd/archive/2013/03/09/2951826.html 网络基础知识 网络编程的目的:直接或间接地通过网络协议与其他计算机 ...
- Linux网络基础配置
这是看itercast视频的笔记 Linux网络基础配置 以太网连接 在Linux中,以太网接口被命令为:eth0, eth1等, 0,1代表网卡编号 通过lspci命令可以查看网上硬件信息(如果是u ...
- Linux网络服务01——Linux网络基础设置
Linux网络服务01--Linux网络基础设置 一.查看及测试网络 1.使用ifconfig命令查看网络接口 (1)查看活动的网络接口 ifconfig命令 [root@crushlinux ~]# ...
随机推荐
- 团队冲刺--Seven
昨天: 司宇航:测试功能版块,优化功能版块. 马佳慧:优化界面 . 王金萱:合并程序. 季方: 合并程序. 今天: 司宇航:优化功能版块. 马佳慧:优化界面 . 王金萱:优化界面. 季方: 完善功 ...
- java学习de路线建议
我想谈一谈我的一些关于网页学习的小感悟吧.之所以是写这个的原因完全是想告诉现在还处在网页学习的初始阶段的同学一些我学习走过的弯路,但我说的也仅是我个人的理解,毕竟我只能是JavaWeb开发的新手,所以 ...
- tcp/ip客户端与服务器
单击“发送数据”把数据发送到指定IP地址的指定端口号 using System; using System.Collections.Generic; using System.ComponentMod ...
- Linux里的2>&1的理解
转载自:https://blog.csdn.net/ggxiaobai/article/details/53507530 我们在Linux下经常会碰到nohup command>/dev/nul ...
- 团队作业8——测试与发布(Beta阶段)之展示博客
展示博客 1. 团队成员的简介和个人博客地址,团队的源码仓库地址. a.陈福鹏 擅长技术:java.web等网站方面技术: 博客:http://www.cnblogs.com/royalchen/b. ...
- vue 实战语法错误导致的问题记录
1. 在组件中引入mapActions import mapActions from 'vuex' 而不是 getActions 2.引入 mutations-type.js import ...
- cobbler技术详解(是PXE二次详解)
Cobbler是PXE的二次封装,使用Python语言开发, 可以用来快速建立 Linux 网络安装环境,它已将 Linux 网络安装的技术门槛,从大专以上文化水平,成功降低到初中以下,连补鞋匠都能学 ...
- dbms_sqltune.report_sql_monitor 自动调优
--创建 dbms_sqltune.create_tuning_task ; --执行 dbms_sqltune.execute_tuning_task; --产看创建的task 和 status S ...
- windows多线程(九) PV原语分析同步问题
一.PV原语介绍 PV原语通过操作信号量来处理进程间的同步与互斥的问题.其核心就是一段不可分割不可中断的程序. 信号量的概念1965年由著名的荷兰计算机科学家Dijkstra提出,其基本思路是用一种新 ...
- ANR基础
转自:http://blog.sina.com.cn/s/blog_c0de2be70102wd1k.html 1.ANR basic knowledge ANR分类: Key Dispatch Ti ...