Two really great books that will help you get into the basics of SAN :
Introduction to Storage Area Networks
Fibre Channel over Ethernet (FCoE) Data Center Bridging (DCB) Concepts and Protocols
Two really great books that will help you get into the basics of SAN :
Introduction to Storage Area Networks
Fibre Channel over Ethernet (FCoE) Data Center Bridging (DCB) Concepts and Protocols
Just finished the TCP course from INE :
CCIE R&S: Understanding Transmission Control Protocol (TCP)
Really recommend this to anyone who is interested in a bit deeper dive of how TCP works, great quality content, Keith Bogart is doing amazing job as instructor !
Some TCP facts which I didn’t mentioned in my previous post :
This is Active Open – TCB creation process, initiated only per need of client.
Also we have Passive Open (server – listening process)
A bit about Nagle :
MSS VS MTU
TCP checks the MTU and configures MSS accordingly. If we have a jumbo MTU 9216 MSS will be 9216 – 20 (IP Header) – 20 TCP header.
Relative Sequence Number in Wireshark and Subdisector
Sequence Numbers
About the Missed ACKs
Sliding Window Rules :
Urgent Bit
Old known stuff, probably for everybody who is somehow related to networking, but anyway, putting it here too.
IEEE 802.3x – Wikipedia link
If QoS is enabled and you like to prioritize the traffic, flow control needs to be disabled,as it doesn’t care about any higher level prioritization, just when ingress traffic is coming in faster than receiver can accept it, flow control will kick in and send pause frames until the ingress-egress rate will be equalized or ingress rate is lower than egress of that interface.
A bit more info from Dell FTOS 9 documentation about flow control :
I would use it only for storage – for example iscsi traffic, in separated network, then it won’t do any harm.. probably 🙂
But of course no way of using it on trunk links, other switch facing links and etc.
Installing – Let’s use Debian based manager :
Apt-get install open-iscsi
Apt-get install iperf
Apt-get install nload
Scanning for targets :
Iscsiadmin -m discovery -t st -p target_ip
Iscsiadm -m node -u
Iscsiadm -m node –login
Check if you see the object :
Lsblk
New disk should appear in dev – like sdx \–sdx1
How to partition (if wasn’t partitioned yet)
Fdisk /dev/sdc
N
P
Enter
w
Mkfs.ext4 /dev/sdx1
Connecting the drive to system
Fsck /dev/sdc1
Mount /dev/sdc1 /mnt
Creating big file with random data :
Dd if=/dev/urandom of=rnd.20G count=1024 bs=20M
Also you can check the copy speed live via rsync (when copying from mount location to mount for example) –
rsync –progress source destination
Live interface monitoring can be done via
nload – same like top but for nics
And at the end if you’d like to check what is the performance of network(without storage) – connect second host to same switch and run iperf
Iperf -s (on servers side)
Iperf -c x.x.x.x -d (-D option for simultaneous bi-directional bandwidth measurement)
While the transmission speeds are advancing – totally delays are dominated by propagation delay which is bound to the speed of light.
End to end delay is the time from when we sent the first bit of the first line until last bit arrives to destination.
Basically everything can be determined except queuing delay – it’s an unpredictable variable.
Packetization delay is basically how close together we can pack a bits.
So it’s the time from when the first to the last bit of a packet is transmitted.
Formula would be : Packetization delay = P(size) / R(transmit rate)
Propagation delay – l is the amount of time it takes for a single bit to travel over a link at propagation speed c.
Formula would be PropagationDelay=l(cable lenght)/c(speed)
Would like to put some facts about most famous routing protocol.
BGP – Border Gateway Protocol
According to Wikipedia currently we are using the version (BGP4), which was published as RFC 4271 in 2006.
BGP4 has been in use on the Internet since 1994.
Basically the world was changed by the 3 napkin protocol(picture was found on Network Collective Podcast):
Its simplified finite state machine is (taken from wiki) :
Some basics from BGP :
By default if route goes down BGP won’t flap it, will wait for 30 seconds before notifying
neighbor ip remote-as as_number
- Open – After configuring neighbor send a hello to neighbor router
- Update – Used to update the routing table or send any updates for changes
- Keep alive – BGP has it’s on keepalive mechanism
- Notification – Any BGP error condition events or any changes would generate a notification messages
- Idle – Have a neighbor connected but didn’t talked yet – usually we would see router stuck in this status when something is miss-configured.
- Active – Tries to establish a communication – a lot of issues also happens here
- Open sent
- Open confirm
- Established – all good
- conf t
- router xx
- neighbor x.x.x.x remote-as xx
neighbor xx.xx.xx.xx
ebgp-multihop 2 ( in case if we are using loopback for EBGP)
And there is many more, BGP nowadays is being used everywhere and often for other goals as it was designed, anyway if you want to learn more I would suggest to visiting following links :
http://packetpushers.net/podcast/podcasts/show-355-whats-wrong-bgp-ietf-99/
http://thenetworkcollective.com/2017/09/hon-li-bgp/
https://www.cbtnuggets.com/it-training/cisco-ccip-bgp-642-661
ARP resolves the mapping issue between two different size protocols.
It allows to MAP an IP(32 bit) and MAC(48 bit) together.
How does it work in a nutshell :
Let’s assume that we have two hosts on different networks – A and B, we want them to communicate with each other, what will happen when host A will try reaching the host B for the first time (arp cache empty) :
Gateway will respond with ARP reply
The same will happen from other side – if gateway has no ARP entry for host B it will broadcast the ARP request to same broadcast domain(let’s assume we are using only one router) it will get a response from the host and will save its address to arp cache.
After request reply exchange we will have the gateway in our arp-cache now we can send the packets to B using the gateway.
We need not to forget about :
Gratuitous ARP – in case if machine is changing it’s MAC or services are being moved, we can have a wrong data cached in ARP caches of devices, to update it machine can send gratuitous arp requests.